Java汇合体系
- Set(接口):代表无序、不可反复的汇合
- List(接口):代表有序、反复的汇合
- Map(接口):代表具备映射关系的汇合
- Queue(接口):代表队列汇合
汇合类和数组区别
- 数组元素既能够是根本类型的值,也能够是对象(实际上保留的是对象的援用变量)。
- 汇合里只能保留对象(实际上保留的是对象的援用变量,但通常习惯认为汇合里保留的是对象)
Java的汇合类次要由两个接口派生而出,他们是Java汇合框架的根接口,这两个接口又蕴含了一些子接口或实现类。
- Collection(接口)
- Map(接口)
UML关系图如下所示
PantUML语法
A <|-- B //B继承A
C <|... D //D实现了C
Collection
@startuml
interface 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 <|-- Collection
Collection <|-- Set
Collection <|-- Queue
Collection <|-- List
Set <|-- SortedSet
AbstractSet <|-- HashSet
Set <|.. HashSet
AbstractCollection <|-- AbstractSet
Set <|.. AbstractSet
Collection <|.. AbstractCollection
AbstractList <|-- ArrayList
List <|.. ArrayList
AbstractCollection <|-- AbstractList
List <|.. AbstractList
AbstractList <|-- Vector
List <|.. Vector
Queue <|-- Deque
AbstractQueue <|-- PriorityQueue
AbstractCollection <|-- AbstractQueue
Queue <|.. AbstractQueue
AbstractSet <|-- TreeSet
NavigableSet <|.. TreeSet
SortedSet <|-- NavigableSet
HashSet <|-- LinkedHashSet
Set <|.. LinkedHashSet
AbstractSequentialList <|-- LinkedList
List <|.. LinkedList
AbstractList <|-- AbstractSequentialList
Vector <|-- Stack
AbstractCollection <|-- ArrayDeque
Deque <|.. ArrayDeque
@enduml
Map
@startuml
interface Map{
}
class HashMap{
}
abstract class AbstractMap{
}
class Hashtable{
}
abstract class Dictionary{
}
interface SortedMap{
}
class LinkedHashMap{
}
class Properties{
}
class TreeMap{
}
interface NavigableMap{
}
AbstractMap <|-- HashMap
Map <|.. HashMap
Map <|.. AbstractMap
Dictionary <|-- Hashtable
Map <|.. Hashtable
Map <|-- SortedMap
HashMap <|-- LinkedHashMap
Map <|.. LinkedHashMap
Hashtable <|-- Properties
AbstractMap <|-- TreeMap
NavigableMap <|.. TreeMap
SortedMap <|-- NavigableMap
@enduml
对于Set、List、Queue、Map四种汇合,最罕用的别离是:HashSet、TreeSet、ArrayList、LinkedList、ArrayDeque、HashMap、TreeMap。
发表回复