集合体系
不同的集合底层存储数据(对象)的方式(数据结构)不同,构成了一个体系,称为集合体系。
**体系:**一个技术中所涉及到的所有的类和接口,都由继承或实现关系来构成,形成了一个层次结构;
Collection:根接口,建立最基本的规则,即集合可以存储对象的。
1.List:子接口,建立的规则是在Collection接口能够存储对象的规则基础上,要求存储的对象是有序且可重复的。
1】ArrayList:
2】LinkedList:
3】Vector:
以上三个实现类都是List接口的实现类,都是实现List接口建立的规则的,即存储的对象是有序的且可以重复,区别是各自的实现方式不同(底层使用的数据结构不同)。
Collection接口提供的通用方法
创建Collection集合
Collection c = new ArrayList();
添加
c.add(对象);
清空容器
c.claer();
判断当前集合中是否包含参数元素
contains(Object o)
判断当前集合中是否包含参数集合中的所有元素
containsAll(Collection c)
boolean | remove(Object o)
* 从集合中移除参数元素
*
boolean | removeAll(Collection c)
从当前Collection集合中移除和参数Collection集合相同的所有元素
boolean | retainAll(Collection c)
从当前Collection集合中移除和参数Collection集合不同的所有元素(保留相同元素)
//boolean | isEmpty():判断集合是否为空,为空true,非空false;
System.out.println(c.isEmpty());//false
//int | size():获取集合长度的,即元素个数
System.out.println(c.size());//4
集合的遍历
iterator():
用于获取对 collection 进行迭代的迭代器;Iterator迭代器对象是专门对Collection集合进行迭代的。
Iterator迭代器常用的方法:
boolean | hasNext()
判断迭代器中是否还有下一个元素。所以通过该方法可以判断迭代器是否还有能够被迭代的元素,进而可以控制进行迭代的循环何时结束。
Object | next()
获取下一个元素。是hasNext()一次,存在元素,就next()获取一次。
public void testE() {
Collection c = new ArrayList();
c.add("aaa");
c.add("bbb");
c.add("ccc");
c.add("ddd");
//1)获取到用于遍历Collection集合的迭代器
Iterator it = c.iterator();
//2)循环获取集合元素
while(it.hasNext()) {
System.out.println(it.next());
}
}