集合
List
LinkedList
基于链表的实现,允许 null值,常用作队列满足先进先出、后进先出
ArrayList
基于动态数组的实现,允许所有元素包括 null
Vector
类似 ArrayList,但是它是同步的
Stack
Stack继承自Vector,实现了一个后进先出的堆栈
Set
不包含重复元素,最多允许一个 null(因为人家不允许重复),不保证数据的顺序
HashSet
HashSet调用对象的hashCode(),获得哈希码,然后在集合中计算存放对象的位置。通过比较哈希码与equals()方法来判别是否重复。所以,重载了equals()方法同时也要重载hashCode();
SortedSet
TreeSet 类 继承SortedSet接口,能够对集合中对象排序。默认排序方式是自然排序,但该方式只能对实现了Comparable接口的对象排序,java中对Integer、Byte、Double、Character、String等数值型和字符型对象都实现了该接口。
Map
Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。Map接口提供了3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key--value映射。
HashTable
HashTable继承Map接口,实现了一个key--value映射的哈希表。任何非空的对象都可作为key或者value。
线程安全,但是性能低。
HashMap
HashMap和HashTable类似,不同之处在于HashMap是非同步的,并且允许null,即null value和null key