跳转至

List 和 Set 有哪些接口

一、List

Collection
  └── List
       ├── ArrayList
       ├── LinkedList
       ├── Vector
       └── CopyOnWriteArrayList

特点

  • 有序(按插入顺序)。
  • 可重复。
  • 可 null。
  • 有索引。

二、Set

Collection
  └── Set
       ├── HashSet
       │    └── LinkedHashSet
       ├── TreeSet
       └── CopyOnWriteArraySet

特点

  • 不重复。
  • HashSet 无序。
  • LinkedHashSet 按插入顺序。
  • TreeSet 按排序顺序。

三、对比

List Set
重复 允许 不允许
顺序 插入顺序 HashSet 无序
索引
实现 ArrayList/LinkedList HashSet/TreeSet

四、怎么选

  • 需要索引、顺序:List。
  • 去重:Set。
  • 排序:TreeSet。

高频

List 有序可重复,Set 无序不重复。