1.父类接口:
list、set的父类接口是collection;map没有父类接口。
2.list、set、map的区别:
list有序,包含可重复的元素,允许为null值。
set不包含重复的元素,最多只允许一个null值。
map是以键值对的方式存在的,不能包含重复的键值。
3.List常用的实现类:
ArrayList、LinkedList、Vector
ArrayList、Vector是基于数组实现的,大小可变,不同点在于ArrayList非线程安全,Vector线程安全;
而LinkedList是基于链表实现的。
4.Set常用的实现类:
HashSet、TreeSet、LinkedHashSet(都非线程安全)
HashSet:元素顺序可以发生变化;TreeSet:确保集合元素处于排序状态;
LinkedHashSet:是根据元素的hashCode值来决定元素的存储位置,同时使用链表维护元素的次序。
5.Map常用的实现类:
HashMap<K,V>、Hashtable<K,V>、TreeMap<K,V>
HashMap<K,V>:基于哈希表的Map接口的实现。允许使用null值和null键,非线程安全,HashMap是Hashtable的轻量级实现。
Hashtable<K,V>:实现了一个哈希表,非null对象都可以 用作键或值,线程安全。
TreeMap<K,V>:基于红黑树实现,该映射根据其键的自然顺序进行排序,非线程安全。