目录
集合框架图
(集合:对于基本数据结构的封装)
接口:虚线标出。
实现类:实现标出。
通过框架图可知:Collection、Map。
Collection:该接口的实现类的集合中存储的元素都是单个数据。
Map:该接口的实现类集合中存储的元素都是键值对存在key-value。
另:collection底层接口存在子接口:分别是List、Set、Queue。
List接口:存储的数据可以重复的、按照插入顺序存储。
Set接口:存储的元素是惟一的、不能重复的、数据是无序的。
Queue接口:数据是可以重复、可以排序的。
Collection<E>接口方法:
ArrayList对Collection方法的基本应用:
//创建ArrayList实例,研究Collection接口方法
ArrayList<Integer> arrayList = new ArrayList<>();
ArrayList<Integer> arrayList1 = new ArrayList<>();
arrayList1.add(1);
arrayList1.add(2);
arrayList1.add(3);
//添加单个元素 boolean add(E e)
arrayList.add(12);
System.out.println("元素个数:" +arrayList.size());
//批量添加元素 boolean addAll(Collection<? extends E> c)
arrayList.addAll(arrayList1);
System.out.println("元素个数:" +arrayList.size());
//获取集合中元素个数 int size()
arrayList.size();
//获取元素 通过指定下标获取元素 E get(int index)
arrayList.get(0);
System.out.println("0号位置元素:"+arrayList.get(0));
for (int i = 0; i < arrayList.size(); i++) {
System.out.print(arrayList.get(i) +" ");
}
System.out.println();
//删除集合中所有元素 void clear()
arrayList.clear();
System.out.println("元素个数:" +arrayList.size());
//查询集合中是否包含指定元素 boolean contains(Object o) true:包含指定元素 false:不包含
boolean contains = arrayList.contains(1);
System.out.println(contains);
//查询集合中是否存在指定的子集合对象
boolean b = arrayList.containsAll(arrayList1);
System.out.println(b);
//判断集合与指定对象是否相等(不常用)
boolean equals = arrayList1.equals(arrayList1);
//判断当前集合是否为空 boolean isEmpty() true:表示当前集合为空 false:相反
arrayList.isEmpty();
//遍历集合获取迭代器实例 Iterator<E> iterator()
Iterator<Integer> iterator = arrayList.iterator();
// iterator.hasNext() 判断当前集合是否有元素
while (iterator.hasNext()){
System.out.println(iterator.next()+" ");
}
//删除指定元素(Integer中难以区分对象和下标,所以对象直接用Integer.valueOf()获取),如果对象重复那么找到第一个符合的元素删除。
arrayList.remove(Integer.valueOf(1));
arrayList.removeAll(arrayList1);
//保留当前集合及参数集合相同的部分,删除当前集合的其他元素boolean retainAll(Collection<?> c)
boolean b1 = arrayList.retainAll(arrayList1);