集合
1、集合框架
从图中可以看出,集合主要为两种类型:一种是单列集合Collection,存储一种集合元素;一种是双列集合Map,存储键值对。
2、集合框架体系
3、单列集合Collection
是一个接口,所有单列集合的最顶层接口,定义了所有单列集合的共性方法。
1.常用方法:
2.共性的方法:
boolean add(E e) 确保此 collection 包含指定的元素(可选操作)。
void clear() 移除此 collection 中的所有元素(可选操作)。
boolean remove(Object o) 从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
int size() 返回此 collection 中的元素数。
boolean contains(Object o) 如果此 collection 包含指定的元素,则返回 true。
== boolean isEmpty()== 如果此 collection 不包含元素,则返回 true。
Object[] toArray() 返回包含此 collection 中所有元素的数组。
3.代码示例
public class Demo01Collection {
public static void main(String[] args) {
Collection<String> coll = new ArrayList<>();
System.out.println(coll);//[]
//添加元素
coll.add("张三");
coll.add("李四");
coll.add("王五");
System.out.println(coll);//[张三, 李四, 王五]
//删除元素
coll.remove("李四");
System.out.println(coll);//[张三, 王五]
//判断你是否包含该元素
boolean flag = coll.contains("王五");
System.out.println(flag);
//判断当前集合是否为空
System.out.println(coll.isEmpty());
//返回集合元素的个数
System.out.println(coll.size());
//把集合变成数组
for (int i = 0; i < coll.toArray().length; i++) {
System.out.println(coll.toArray()[i]);
}
}
迭代器(java.util.Iterator接口)
Iterator迭代器是一个接口,我们无法直接使用,获取实现类的方式比较特殊,在Collection接口中有一个方法,叫iterator()方法,返回迭代器的实现类对象。
使用步骤:
1、使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)。
2、使用Iterator接口中的方法hasNext判断还有没有下一个元素。
3、使用Iterator接口中的方法next去除集合中的下一个元素。
代码示例:
public static void main(String[] args) {
//创建一个集合对象
Collection<String> coll = new ArrayList<>();
coll.add("姚明");
coll.add("麦迪");
coll.add("科比");
coll.add("加内特");
coll.add("纳什");
//获取迭代器
Iterator<String> iterator = coll.iterator();
while (iterator.hasNext()){
String next = iterator.next();
System.out.println(next);
}
//for循环
for(Iterator<String> iterator1 = coll.iterator();iterator1.hasNext();){
System.out.println(iterator1.next());
}
}
注意点:
JDK1.8新增的默认方法:forEachRemaining()
也就是说:是用来操作剩余的集合元素,简而言之:如果你一次遍历了某个集合的一半元素,那么你可以用这个forEachRemaining()来遍历剩余的另一半元素;具体可以参考此博文