集合:
(1)可以动态保存任意多个对象,使用比较方便
(2)提供了一系列方便的操作对象的方法:add、remove、set、get等
(3)使用集合添加,删除新元素的示意代码
单列集合:
双列集合:
Collection接口:
(1)collection实现子类可以存放多个元素,每个元素可以是Object
(2)有些Collection的实现类,可以存放重复的元素,有些不可以
(3)有些Collection的实现类,有些是有序的(List),有些是无序的(Set)
(4)Collection接口没有直接的实现子类,是通过它的子接口Set和List来实现的
Collection接口常用方法(以ArrayList类实现)
1、add:添加单个元素
2、remove:删除指定元素
3、contains:查找元素是否存在
4、size:获取元素个数
5、isEmpty:判断是否为空
6、clear:清空
7、addAll:添加多个元素
8、containsAll:查找多个元素是否都存在
9、removeAll:删除多个元素
import java.util.ArrayList;
public class Study {
@SuppressWarnings({"all"})
public static void main(String[] args) {
ArrayList arrayList = new ArrayList();
//add
arrayList.add("abc");
arrayList.add(10);
arrayList.add(true);
System.out.println(arrayList);
//remove
arrayList.remove(0);//删除指定索引位置的元素
arrayList.remove(true);//删除指定的某个元素
System.out.println(arrayList);
//contains
System.out.println(arrayList.contains(10));
//size
System.out.println(arrayList.size());
//isEmpty
System.out.println(arrayList.isEmpty());
//clear
arrayList.clear();
System.out.println(arrayList);
//addAll
ArrayList arrayList1 = new ArrayList();
arrayList1.add("红楼梦");
arrayList1.add(20);
arrayList.addAll(arrayList1);
System.out.println(arrayList);
//containsAll
System.out.println(arrayList.containsAll(arrayList1));
//removeAll
arrayList.add("三国杀");
arrayList.removeAll(arrayList1);
System.out.println(arrayList);
}
}
Collection接口遍历元素方式1(使用Iterator迭代器)
1.Iterator对象称为迭代器,主要用于遍历Collection集合中的元素
2.所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了Iterator接口的对象,即可返回一个迭代器
3.Iterator的结构:
调用iterator()得到一个集合的迭代器;
hasNext():判断是否还有下一个元素
next():指针下移,同时返回该位置的元素,类型是Object
4.Iterator仅用于遍历集合,本身并不存储对象
5.快捷键为itit
public class Study {
@SuppressWarnings({"all"})
public static void main(String[] args) {
ArrayList arrayList = new ArrayList();
arrayList.add("abc");
arrayList.add(123);
arrayList.add("xyz");
Iterator iterator = arrayList.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
//如果要再次遍历,需要重置迭代器
//iterator=arrayList.iterator();
}
}
Collection接口遍历元素方式2(for循环增强)
增强for循环,可以替代iterator迭代器,特点:增强for就是简化版的iterator(底层仍然调用hasNext与next方法),只能用于遍历集合或数组
语法:
for(元素类型 元素名:集合名或数组名){ 访问元素 }
快捷键:iter 或者 集合对象名.for