Java汇合体系
- Set(接口):代表无序、不可反复的汇合
- List(接口):代表有序、反复的汇合
- Map(接口):代表具备映射关系的汇合
- Queue(接口):代表队列汇合
汇合类和数组区别
- 数组元素既能够是根本类型的值,也能够是对象(实际上保留的是对象的援用变量)。
- 汇合里只能保留对象(实际上保留的是对象的援用变量,但通常习惯认为汇合里保留的是对象)
Java的汇合类次要由两个接口派生而出,他们是Java汇合框架的根接口,这两个接口又蕴含了一些子接口或实现类。
- Collection(接口)
- Map(接口)
UML关系图如下所示
PantUML语法
A <|-- B //B继承AC <|... D //D实现了C
Collection
@startumlinterface Iterable{ }interface Collection{ }interface Set{ }interface Queue{ }interface List{ }interface SortedSet{ }class HashSet{ }abstract AbstractSet{ }abstract AbstractCollection{ }class ArrayList{ }abstract class AbstractList{ }class Vector{ }interface Deque{ }class PriorityQueue{ }abstract class AbstractQueue{ }class TreeSet{ }interface NavigableSet{ }class LinkedHashSet{ }class LinkedList{ }abstract class AbstractSequentialList{ }class Stack{ }class ArrayDeque{ }Iterable <|-- CollectionCollection <|-- SetCollection <|-- QueueCollection <|-- ListSet <|-- SortedSetAbstractSet <|-- HashSetSet <|.. HashSetAbstractCollection <|-- AbstractSetSet <|.. AbstractSetCollection <|.. AbstractCollectionAbstractList <|-- ArrayListList <|.. ArrayListAbstractCollection <|-- AbstractListList <|.. AbstractListAbstractList <|-- VectorList <|.. VectorQueue <|-- DequeAbstractQueue <|-- PriorityQueueAbstractCollection <|-- AbstractQueueQueue <|.. AbstractQueueAbstractSet <|-- TreeSetNavigableSet <|.. TreeSetSortedSet <|-- NavigableSetHashSet <|-- LinkedHashSetSet <|.. LinkedHashSetAbstractSequentialList <|-- LinkedListList <|.. LinkedListAbstractList <|-- AbstractSequentialListVector <|-- StackAbstractCollection <|-- ArrayDequeDeque <|.. ArrayDeque@enduml
Map
@startumlinterface Map{ }class HashMap{ }abstract class AbstractMap{ }class Hashtable{ }abstract class Dictionary{ }interface SortedMap{ }class LinkedHashMap{ }class Properties{ }class TreeMap{ }interface NavigableMap{ }AbstractMap <|-- HashMapMap <|.. HashMapMap <|.. AbstractMapDictionary <|-- HashtableMap <|.. HashtableMap <|-- SortedMapHashMap <|-- LinkedHashMapMap <|.. LinkedHashMapHashtable <|-- PropertiesAbstractMap <|-- TreeMapNavigableMap <|.. TreeMapSortedMap <|-- NavigableMap@enduml
对于Set、List、Queue、Map四种汇合,最罕用的别离是:HashSet、TreeSet、ArrayList、LinkedList、ArrayDeque、HashMap、TreeMap。