概念
集合:存储数据的容器,它允许以各种方式将元素分组,并定义了各种使这些元素更容易操作的方法,集合类是可以往里面保存多个对象的类,存放的是对象,不同的集合类有不同的功能和特点,适合不同的场合,用以解决一些实际问题。
Collection集合的框架结构
集合和数组的区别
相同点:
1.集合和数组都是存储数据的容器,在一个数组或者集合中可以存储多个数据
不同点:
1.数组的长度是固定的,但是集合的长度不固定
2.数组可以存储基本数据类型和引用数据类型,集合中存储的元素类型只能是引用数据类型,数组中的元素只能是相同的类型,但是集合中可以存储的元素是任意的
3.数组长度固定一旦初始化就无法增加和修改,集合长度可以修改,可以删除元素和添加元素
Collection接口
Collection中常用的方法
add(E e) 添加操作
//父类引用指向子类对象
Collection collection=new ArrayList();
collection.add("花花");
collection.add("草草");
remove(Object o) 删除操作
collection.remove("花花");
clear() 清空所有
collection.clear();
contains(Object o) 判断集合中是否存在对应元素
boolean b=collection.contains("草草");
System.out.println(b);
isEmpty() 如果集合中不包含元素,则返回true
System.out.println(collection.isEmpty());
equals(Object o) 比较集合中和指定的对象是否相等(比较内容)
Collection c1=new ArrayList();
c1.add("小红");
c1.add("小黑");
Collection c2=new ArrayList();
c2.add("小红");
c2.add("小黑");
System.out.println("c1.equals(c2):"+c1.equals(c2));
两种方式遍历方式
1.Iterator迭代器
iterator() 返回在此 collection 的元素上进行迭代的迭代器
Iterator it=collection.iterator();
//hasNext() 判断迭代器是否存在下一个元素可以迭代
while(it.hasNext()){
//next() 迭代器迭代下一个元素,返回的是对象,如果下一个元素存在,指针就会向下走
Object obj=it.next();
System.out.println(obj);
}
2.增强型for循环
//语法
//遍历的数据类型必须为引用数据类型
//for(容器中的引用数据类型 变量名:容器){
//变量名就是每一个对象
//}
for (Object object : collection) {
System.out.println(object);
}
注意:增强型for循环不能删除元素