java集合框架详解

集合的特点:
一个数组中只能存储同一数据类型,一个集合中可以存储不同数据类型的数据,集合用于存储多个对象。
数组是固定长度,集合是可变长度。
集合中不可以存储基本数据类型值,数组可以。

集合框架体系图:
这里写图片描述

Collection集合:

具有的方法:
boolean add(E e):添加元素
boolean addAll(Collection e);添加多个(集合)
boolean remove(Object o);删除一个元素
boolean removeAll(Collection c);删除多个
boolean clear();清空,将集合中的所有元素删掉,集合还存在
boolean contains(Object o);集合是否包含某个元素
boolean containsAll(Collection c);是否包含集合中的所有元素
int size();返回此集合的元素个数
boolean isEmpty();如果集合为空,返回true
boolean retainAll(Collection c);取交集
Object[] toArray();将集合转成数组

迭代器:
Iterator iterator();返回此集合的元素上进行迭代的迭代器对象
boolean hasNext();是否还有下一个元素
E next();返回迭代的下一个元素
void reMove();从迭代器中移除元素

迭代器必须依赖于具体容器,因为每一个容器的数据结构都不同。所以该迭代器对象是在容器中进行内部实现的。
对于使用容器者而言,具体的实现不重要,只要通过容器获取到该实现的迭代器对象即可,不能直接new出迭代器对象,只能通过”集合.iterator()”获取到迭代器对象。
Iterator接口就是对所有的collection容器进行元素取出的公共接口。

Collection集合子类详解:

Collection集合之List集合详解

Collection集合之Set集合详解

Map集合及其子类详解:

Map集合详解

Collection集合总结:

1.看到Array,就要想到数组,就要想到查询快,有角标; 2.看到Link,就要想到链表,就要想到增删快,就要想到add get remove +first last的方法; 3.看到Hash,就要想到哈希表,就要想到唯一性,就要想到元素需要覆盖hashcode方法和equals方法; 4.看到tree,就要想到二叉树,就要想到排序,就要想到两个接口Comparable,Comparator; 而且通常这些常用的集合容器都是不同步的。