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四种汇合,最罕用的别离是:HashSetTreeSetArrayListLinkedListArrayDequeHashMapTreeMap