AptuSource

Java 集合框架简介

集合,有时也称为容器,简单说来就是能保存数据的一个对象。集合可以用于存储、获取、操作数据。通常,使用集合的数据项都有一个自然的分组。例如,一手扑克(是牌的集合)、一个邮箱(是信件的集合)、一个电话本(是名字与电话号码映射关系的集合)。如果你已经使用过 Java 语言,或其它语言,那么你一定对集合的概念有所熟悉。

什么是集合框架

集合框架是用于展示和操作集合的统一架构,所有的集合框架都应该包括:

  • 接口:这表示了集合的抽象数据类型。接口将集合的操作从具体的实现细节中独立出来。在面向对象的语言中,接口一般单独在接口层。
  • 实现:这一层是接口层的具体实现。从本质来说,是可重用的数据结构。
  • 算法:表示一些有用的方法,例如,在实现集合接口的对象上进行搜索和排序功能等。算法是多态的,意味着同样的方法可以用于不同的集合类实现上。从本质来说,算法是可重用的方法。

Java 集合框架带来的好处

  • 减少编程工作:提供了有用的数据结构和算法,解放了开发者的底层工作,将更多精力集中于程序中更重要的部分。因为允许独立 API 之间的互操作性,解放了开发者编写适配器代码和转换器代码的工作。
  • 提高了代码的速度和质量:Java 集合框架为数据结构和算法提供了高质量、高性能的实现。每个接口的不同实现都是可互换的,因此可以很容易改变接口实现。因为开发者已经从编写枯燥的底层数据框架中解放出来,因此可以花更多的时间来关注程序中的性能和质量。
  • 支持独立 API 之间的互操作性:集合框架接口是不同 API 之间进行互操作的规范。假设我的网络管理 API 提供了节点名称的集合,而你的 GUI 程序需要在列头展示这个集合,那么这两个独立的 API 之间可以无缝地进行互操作。
  • 降低了学习成本:大多数 API 都能很自然地从输入获取集合或者提供集合到输出。而在过去,每个这样的 API 都有很多小的子 API 用于操作集合。这些子 API 之间几乎没有任何一致性,因此需要东拼西凑地学习各种子 API,而且在使用的时候还容易犯错。现在提供了标准的集合接口,这些问题将成为历史。
  • 降低了设计新 API 的成本:这是上一点的另外一个方面。设计师和实现者每次创建依赖集合的 API 时,不需要重复发明轮子,而是使用同一的集合接口。
  • 促进软件的重用:遵守标准集合接口的数据结构天生可重用。同样的道理,实现了这些接口的用于操作数据的新算法也是可重用的。