Java知识回顾 (8) 集合

 

早在 Java 2 中以前,Java 就提供了特设类。好比:Dictionary, Vector, Stack, 和 Properties 这些类用来存储和操做对象组。java

虽然这些类都很是有用,可是它们缺乏一个核心的,统一的主题。因为这个缘由,使用 Vector 类的方式和使用 Properties 类的方式有着很大不一样。算法

集合框架被设计成要知足如下几个目标。数组

  • 该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。数据结构

  • 该框架容许不一样类型的集合,以相似的方式工做,具备高度的互操做性。架构

  • 对一个集合的扩展和适应必须是简单的。框架

为此,整个集合框架就围绕一组标准接口而设计。你能够直接使用这些接口的标准实现,诸如: LinkedListHashSet,  和  TreeSet 等,除此以外你也能够经过这些接口实现本身的集合。性能

 

从上面的集合框架图能够看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另外一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,经常使用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。spa

集合框架是一个用来表明和操纵集合的统一架构。全部的集合框架都包含以下内容:设计

  • 接口:是表明集合的抽象数据类型。例如 Collection、List、Set、Map 等。之因此定义多个接口,是为了以不一样的方式操做集合对象对象

  • 实现(类):是集合接口的具体实现。从本质上讲,它们是可重复使用的数据结构,例如:ArrayList、LinkedList、HashSet、HashMap。

  • 算法:是实现集合接口的对象里的方法执行的一些有用的计算,例如:搜索和排序。这些算法被称为多态,那是由于相同的方法能够在类似的接口上有着不一样的实现。

除了集合,该框架也定义了几个 Map 接口和类。Map 里存储的是键/值对。尽管 Map 不是集合,可是它们彻底整合在集合中。

 

集合框架体系如图所示

Java 集合框架提供了一套性能优良,使用方便的接口和类,java集合框架位于java.util包中, 因此当使用集合框架的时候须要进行导包。

相关文章
相关标签/搜索