在 Java 中已有数组等数据结构,但受限于数组是连续存储结构,查询快但插入和删除性能不佳等,Java 在内置的额 util 包中也给我们提供了 集合框架数据结构,主要分为单列集合和双列集合两大类,即 Collection 和 Map。本节内容从这两大接口展开,小结下集合框架中常用的数据结构。
开局一张图看看两大集合框架的类关系图[1]:
从图中可以看到:
- 集合框架主要分为Collection和Map两大类,这两个接口又被很多具体类实现,总的区分是 Collection类的数据结构属于单列集合,Map类属于双列集合,其中Collection接口是继承了 Iterable 接口,可以实现迭代。
- 在 Collection接口下,又被 List | Set | Queue 三个主要接口继承,其中 List 接口主要被 ArrayList、LinkedList、Vector、Stack类实现,Set 接口主要被 HashSet、LinkedHashSet、TreeSet实现。
- 在 Map接口下,主要实现类是 HashTable、HashMap、LinkedHashMap、TreeMap。
Collection
List
ArrayList
LinkedList
Vector
Stack
Set
HashSet
TreeSet
Map
HashTable
HashMap
参考: