Java基础Collection集合
1.Collection是所有集合的父类,在JDK1.5之后又加入了Iterable超级类(可以不用了解)
2.学习集合从Collection开始,所有集合都继承了他的方法
集合结构如图:
主要学习Collection中的
add()方法
向集合中添加元素
Collection<String> list = new ArrayList<>(); //父类引用指向子类对象
list.add("a");
list.add("a");
list.add("b");
list.add("a");
-----------------------------------------------------------------------------------------------------------
remove()方法
移除集合中的元素
list.remove("a");
注意:Collection接口中remove()方法只可以传递固定的元素,不可以传索进去,只是子类重写remove()方法的功能
-----------------------------------------------------------------------------------------------------------
clear()方法
清空集合
list.clear();
-----------------------------------------------------------------------------------------------------------
size()方法
获取集合的长度
list.size();
字符串的长度是length() 数组长度是length属性 不要混淆
-----------------------------------------------------------------------------------------------------------
contains()方法
包含 传入一个值检测集合中是否包含这个元素 返回值Boolean类型
通常用来ArrayList集合中去重复元素
-----------------------------------------------------------------------------------------------------------
toArray()方法
将集合转为数组
Interger[] arr = list.toArray(new Integer[0]);
将数组转为集合
List<Integer> list = Arrays.aslist(arr);
-----------------------------------------------------------------------------------------------------------
Collection<String> list = new ArrayList<>();
list.add("a");
list.add("a");
list.add("b");
list.add("a");
System.out.println(list);
System.out.println(list.toString());
list.remove("a");
System.out.println(list);
boolean b = list.contains("a");
System.out.println(b);
String[] str = list.toArray(new String[0]);
System.out.println(Arrays.toString(str));
List<String> list1 = Arrays.asList(str);
list.clear();
System.out.println(list);
-----------------------------------------------------------------------------------------------------------
遍历集合(删除元素)
public static void main(String[] args) {
fun2();
}
/**
* 普通for删除
*/
public static void fun(){
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("a");
list.add("b");
list.add("a");
for (int i = 0; i < list.size(); i++) {
if(list.get(i).equals("a")){
//这里的i-- 是因为如果找到相连的元素 要把元素向前推一个索引 因为集合删除一个元素,这个元素的索引会被下一个元素覆盖,
//导致下一个元素没有被判读
list.remove(i--);
}
}
System.out.println(list);
}
/**
* 增强for删除
* 不可以删除元素 增强for没有记录list的索引不可以用来删除
*/
public static void fun1(){
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("a");
list.add("b");
list.add("a");
for (String string : list) {
if(string.equals("b")){
list.remove("b");
}
}
System.out.println(list);
}
/**
* 迭代器删除 这里要注意 要用一个值记录iterator.next的值 如果没有记录就不可删除相连的元素
*因为集合你在删除元素的时候索引会向前一个,在执行的时候就会跳到下一个索引了.这里需要理解
*/
public static void fun2(){
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("a");
list.add("b");
list.add("a");
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
String string = iterator.next();
if(string.equals("a")){
iterator.remove();
}
}
System.out.println(list);
}
}
这是我第一写博客 希望大家互相交流 有什么问题大家给我提出来 谢谢
Java基础Collection集合的更多相关文章
- Java 基础 - Collection集合通用方法及操作/ArrayList和LinkedList的差别优势 /弃用的Vector
Collection的笔记: /**存储对象考虑使用: * 1.数组, ①一旦创建,其长度不可变!② 长度难于应对实际情况 * 2.Java集合, ①Collection集合: 1.set: 元素无序 ...
- Java基础之 集合体系结构(Collection、List、ArrayList、LinkedList、Vector)
Java基础之 集合体系结构详细笔记(Collection.List.ArrayList.LinkedList.Vector) 集合是JavaSE的重要组成部分,其与数据结构的知识密切相联,集合体系就 ...
- java基础-Map集合
java基础-Map集合 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Map集合概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它 ...
- Java基础-Collection子接口之Set接口
Java基础-Collection子接口之Set接口 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 学习Collection接口时,记得Collection中可以存放重复元素,也可 ...
- Java基础-Collection子接口之List接口
Java基础-Collection子接口之List接口 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们掌握了Collection接口的使用后,再来看看Collection接口中 ...
- 第6节:Java基础 - 三大集合(上)
第6节:Java基础 - 三大集合(上) 本小节是Java基础篇章的第四小节,主要介绍Java中的常用集合知识点,涉及到的内容包括Java中的三大集合的引出,以及HashMap,Hashtable和C ...
- java基础技术集合面试【笔记】
java基础技术集合面试[笔记] Hashmap: 基于哈希表的 Map 接口的实现,此实现提供所有可选的映射操作,并允许使用 null 值和 null 键(除了不同步和允许使用 null 之外,Ha ...
- 备战金三银四!一线互联网公司java岗面试题整理:Java基础+多线程+集合+JVM合集!
前言 回首来看2020年,真的是印象中过的最快的一年了,真的是时间过的飞快,还没反应过来年就夸完了,相信大家也已经开始上班了!俗话说新年新气象,马上就要到了一年之中最重要的金三银四,之前一直有粉丝要求 ...
- Java基础--说集合框架
版权所有,转载注明出处. 1,Java中,集合是什么?为什么会出现? 根据数学的定义,集合是一个元素或多个元素的构成,即集合一个装有元素的容器. Java中已经有数组这一装有元素的容器,为什么还要新建 ...
随机推荐
- 微信公众号开发之VS远程调试
目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流 ...
- tLinux 2.2下安装Mono 4.8
Tlinux2.2发行版基于CentOS 7.2.1511研发而成,内核版本与Tlinux2.0发行版保持完全一致,更加稳定,并保持对Tlinux2.0的完全兼容.Mono 4版本要求CentOS 7 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(64)-WebApi与Unity注入
系列目录 前言: 有时候我们系统需要开放数据给手机App端或其他移动设备,不得不说Asp.net WebApi是目前首选 本节记录Asp.net MVC WebApi怎么利用Unity注入.系列开头已 ...
- 基于fis3的组件可视化道路
首先说明一下,即使不熟悉fis3,阅读文本应该也会有所收获. 本文以fis-parser-imweb-tplv2插件为模板插件,目的不在于使用哪个模板,而是组件可视化的实现思路,不必担心. 先说说模板 ...
- .NET面试题集锦②(Part 二)
一.前言部分 文中的问题及答案多收集整理自网络,不保证100%准确,还望斟酌采纳. 1.实现产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复. ]; ArrayList my ...
- 似懂非懂的localStorage和sessionStorage
一.区别 相信很多人都见过这两个关于HTML5的新名词!HTML5种的web storage包含两种存储方式:localStorage和sessionStorage,这两种方式存储的数据不会自动发给服 ...
- 自定义控件之 圆形 / 圆角 ImageView
一.问题在哪里? 问题来源于app开发中一个很常见的场景——用户头像要展示成圆的: 二.怎么搞? 机智的我,第一想法就是,切一张中间圆形透明.四周与底色相同.尺寸与头像相同的蒙板图片,盖在 ...
- Atitit 解决Unhandled event loop exception错误的办法
Atitit 解决Unhandled event loop exception错误的办法 查看workspace/.metadata/.log org.eclipse.swt.SWTError: No ...
- Performance Tuning
本文译自Wikipedia的Performance tuning词条,原词条中的不少链接和扩展内容非常值得一读,翻译过程中暴露了个人工程学思想和英语水平的不足,翻译后的内容也失去很多准确性和丰富性,需 ...
- BZOJ 3083: 遥远的国度 [树链剖分 DFS序 LCA]
3083: 遥远的国度 Time Limit: 10 Sec Memory Limit: 1280 MBSubmit: 3127 Solved: 795[Submit][Status][Discu ...