J.U.C容器
集合关系图
线程分类
大体分为两种:
- Iterable (Collection)
- Queue
- ArraryDeque(实现了Deque的接口并继承了AbstractCollection类)
- List
- LinkedList(实现了Deque接口和List接口)
- ArraryList(继承AbstractList类,AbstractList继承AbstractCollection类,AbstractCollection实现List接口)
- Vector(同上)
- Stack(继承于Vector)
- Set
- HashSet(实现Set接口并继承AbstractSet类,AbstractSet实现Set接口)
- TreeSet(继承AbstractSet类并实现NavigableSet接口,NavigableSet接口继承SortedSet接口,SortedSet接口继承Set接口)
- LinkedHashSet(继承于HashSet)
- Queue
- Map
- HashTable(继承Dictionary,并实现Map接口)
- TreeMap(继承AbstractMap类,实现了NavigableMap接口,NavigableMap接口继承SortedMap,sortedMap继承map接口)
- HashMap(继承AbstractMap类,并实现了Map接口)
- EnumMap (继承AbstractMap类)
- ConcurrentHashMap(继承AbstractMap类,并实现了ConcurrentMap接口)
注意:区别同步容器和并发容器
同步容器:Vector Stack HashTable Collections.synchronizedXXX(List,Set,Map)
线程安全:
线程非安全:ArrayList HashSet HashMap