集合框架概览

介绍

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

  • 经过提供数据结构和算法省去了用户本身设计的功夫,下降了编程难度
  • 经过提供数据结构和算法的高性能实现,来增长用户程序性能,用户能够切换不一样的实现进行性能调优
  • 包装了不相关的 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
相关文章
相关标签/搜索