一、集合
1.1 简介
集合主要分为两组(单列集合、双列集合),Collection 接口有两个重要的子接口 List 和Set,它们的实现子类都是单列集合。Map 接口的实现子类是双列集合,存放的是 K-V
1.2 关系图


二、Collection 接口和常用方法
public interface Collection<E> extends Iterator<E> 
2.1 特点
1、Collection 实现子类可以存放多个元素,每个元素可以是 Object
2、有些 Collection 的实现类可以存放重复元素,有些不可以。
3、有些 Collection 的实现类是有序的(List),有些不是有序的(Set)
4、Collection 接口没有直接的实现子类,是通过它的子接口 Set 和 List 来实现的
2.2 常用方法
下面使用实现类 ArrayList 来演示,如下
public class CollectionTest {
    public static void main(String[] args) {
        Collection list = new ArrayList();
        // add: 添加单个元素
        list.add("java");
        list.add(10);
        list.add(true);
        System.out.println("list="+list);
        // remove: 删除指定元素
        list.remove(true);
        System.out.println("list="+list);
        
        // contains: 查找元素是否存在
        System.out.println(list.contains("java"));
        
        // size: 获取元素个数
        System.out.println("现在集合的大小为:"+list.size());
        
        // isEmpty: 判断是否为空
        System.out.println("判断集合是不是空的"+list.isEmpty());
        
        // clear: 清空集合
        list.clear();
        System.out.println("我要清空集合了,现在集合的大小为:"+list.size());
        // addAll: 添加多个元素
        ArrayList list2 = new ArrayList();
        list2.add("苹果");
        list2.add("香蕉");
        list.addAll(list2);
        System.out.println("添加完多个元素后集合的大小为:"+list.size());
        
        // containsAll: 查找多个元素是否都存在
        System.out.println("查找多个元素是否都存在:"+list.containsAll(list2));
        
        // removeAll: 删除多个元素
        list.removeAll(list2);
        System.out.println("删除多个元素后集合的大小为:"+list.size());
    }
} 
2.3 接口遍历
2.3.1 Iterator 方式
Iterator 对象称为迭代器,主要用于遍历 Collection 集合中的元素。所有实现了 Collection 接口的集合类都有一个 iterator() 方法,用于返回一个实现了 Iterator 接口的对象,即可以返回一个迭代器。
需要注意的是,在调用 iterator.next() 方法之前必须要调用 iterator.hasNext() 方法进行检测,若不调用最终会报异常。
如果希望再次遍历,则需要重置我们的迭代器,即重新调用下 coll.iterator() 方法即可。

// 得到一个集合的迭代器
Iterator iterator = coll.iterator();
// 判断是否还有下一个元素
while(iterator.hasNext()){
	// next() 方法有两个作用:下移并且将下移以后集合位置上的元素返回
	System.out.println(iterator.next());
} 
2.3.2 for 循环方式
增强 for 循环,可以代替 iterator 迭代器。它就是简化版的 iterator,本质是一样的,只能用于遍历集合或数组。
for(元素类型 元素名:集合或数组名){
    // 访问元素
} 
三、List 接口和常用方法
3.1 特点
1、List 集合类中元素有序(即添加顺序和取出顺序是一致的)、且可重复。
2、List 集合中每个元素都有其对应的顺序索引,即支持索引。
3、List 容器中的元素都对应一个整数型的序号记录其在容器中的位置,可以根据序号存取容器中的元素。
3.2 常用实现类
ArrayList、LinkedList、Vector



















