乐趣区

关于java:Java中的集合

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

退出移动版