Collection
它来源于Java.util保重,是非常实用和常用的数据结构。
下面先给出它具体的继承实现关系图:
collection主要方法:
增加
boolean add(Object o)添加对象到集合
boolean addAll(Collection c) 把一个集合 的元素添加到另外一个集合中去。
删除
void clear()删除集合中所有元素
boolean remove(Object o)删除指定的对象
void removeAll(Collection c)从集合中删除c集合中也有的元素
void retainAll(Collection c)从集合中删除集合c中不包含的元素
查看元素数目
int size()返回当前集合中元素的数量
判断是否存在
boolean contains(Object o)查找集合中是否有指定的对象
boolean isEmpty()判断集合是否为空
boolean containsAll(Collection c)查找集合中是否有集合c中的元素
迭代
toArray()
Iterator iterator()返回一个迭代器
- collection 单例集合的根接口
- List 是链表,实现了List接口的集合类,具备以下特点:有序、可重复。
- ArrayList 实现链表的内部结构是用数组(Array),具有查询速度快、修改效率低的特点。非同步
- LinkedList 实现链表的内部结构是用链表(Linked),具有查询速度慢,修改效率高的特点。没有同步方法
- Vector 与ArrayList非常类似,但是它是同步的。(少用)
- Stack 这个主要 记住pop和push方法、peek方法得到栈顶元素,empty方法测试堆栈是否为空,search方法查询一个元素在堆栈中的位置。Stack刚创建后是空栈。
- Set 是集合(接口),不予许有重复值出现
- HashSet 存储元素是按照哈希值来存放的,取数据同样是使用哈希值来取。
- TreeSet 会将里面的元素默认排序
- List 是链表,实现了List接口的集合类,具备以下特点:有序、可重复。
ArrayList
- 通过一个空的构造函数创建的ArrayList默认的容量是10,也可以创建的时候指定容量的大小;ArrayList是一个动态数组队列,可以动态增长内存,每次增加的容量是上次容量的一半,即新容量 = 旧容量 X 3 2 \frac{3}{2} 23
- ArrayList可以在创建的时候讲另一个集合拷贝到新建的ArrayList中。
LinkedList
LInkedList的使用可以参考一下这个网址:LinkedList详细介绍
关于Set集合和它的实现类HashSet、TreeSet
参考下面的网址链接:java集合之set详解