Collection |
| List | Set |
元素
| 有序、可重复
| 无序、唯一
|
实现类
| ArrayList:
底层数据结构是数组,查询快,增删慢,非线程安全,效率高
Vector:
底层数据结构是数组,查询快,增删慢,线程安全,效率低
LinkedList:
底层数据结构是链表,查询慢,增删快,非线程安全,效率高
| HashSet:
不保证set的迭代顺序,特别是不保证该顺序恒久不变;底层数据结构是哈希表,哈希表依赖于哈希值存储;添加功能依赖于hashCode()和equals()
LinkedHashSet:
底层是哈希表和链表,有序、唯一
TreeSet:红黑树结构,自然排序(实现Comparable接口,重写compareTo()方法,元素具备比较性),比较器排序(构造方法接收一个comparator接口的子类对象,重写compare()方法,集合具备比较性)
|
添加功能
| void add(index,element)
void addAll(index,collection)
LinkedList特有功能:
addFirst()、addLast()、getFirst()、getLast()、removeFirst()、removeLast()
| add()
addAll():添加一个集合的元素
|
删除功能
| Object remove(index)
removeAll()
clear()
| remove()
removeAll()
clear()
|
修改功能
| Object set(index,element)
|
|
获取功能
| int size()
Object get(index)
int indexOf(object)
int lastIndexOf(object)
List subList(from,to)
| int size()
|
迭代器
| Iterator
ListIterator(逆序遍历)
| Iterator iterator()
hasNext()、next()
|
判断功能
| boolean contains()
boolean containsAll()
boolean isEmpty()
| boolean contains()
boolean containsAll()
boolean isEmpty()
|
其他功能
| retainAll():取交集
subList():截取
toArray():集合转数组
| retainAll():取交集
toArray():集合转数组
|