集合框架概览

介绍

Java 平台包含一个集合框架。一个集合是一个包含了一组对象的对象(例如经典的 Vector 类)。集合框架采用了统一的架构来操作各个集合,以便使用操作集合和集合实现细节分离。
集合框架的主要优点如下:

  • 通过提供数据结构和算法省去了用户自己设计的功夫,降低了编程难度
  • 通过提供数据结构和算法的高性能实现,来增加用户程序性能,用户可以切换不同的实现进行性能调优
  • 包装了不相关的 APIs,为用户提供了统一的 APIs
  • 省去了用户学习多套 APIs 的麻烦
  • 省去了用户自己设计并实现的麻烦
  • 通过提供标准的接口增强了软件的可重用性

集合框架由以下内容组成:

  • 框架接口,包括常用的 sets,lists 以及 maps
  • 通用的实现
  • 历史遗留实现,早期的 Vector 和 Hashtable 类均在集合框架中重新实现
  • 为特殊情况准备的实现,这些实现没有标准的性能,使用约束
  • 并发实现,这些实现是为高并发程序所准备
  • 包装实现,功能增强,例如增加了同步效果
  • 简便实现,集合接口的高性能的最小实现
  • 抽象实现,集合接口的部分实现以便支持用户自定义实现
  • 算法,提供了有用的静态方法,例如排序
  • 基本设施,未集合接口提供支持的接口
  • 数组工具,为原始类型或引用类型数组提供的工具方法

集合接口

集合接口被分成了两组。最基本的接口 java.util.Collection 有两类后代子类:

  • java.util.Set
  • java.util.SortedSet
  • java.util.NavigableSet
  • java.util.Queue
  • java.util.concurrent.BlockingQueue
  • java.util.concurrent.TrasnferQueue
  • java.util.Deque
  • java.util.concurrent.BlockingDeque

另外一组集合接口继承于 java.util.Map,并且不是真正的集合。但是这些接口也包含了集合方面的操作,其子类有:

  • java.util.SortedMap
  • java.util.NavigableMap
  • java.util.concurrent.ConcurrentMap
  • java.util.concurrent.ConcurrentNavigableMap
原文地址:https://www.cnblogs.com/craftsman-gao/p/7399214.html