集合介绍
本节介绍Java集合框架,在这里,你将了解集合是什么以及它们如何使你的工作更轻松、程序更好,你将了解构成Java集合框架的核心元素 — 接口、实现、聚合操作和算法。
集合 — 有时称为容器 — 只是一个将多个元素组合到一个单元中的对象,集合用于存储、检索、操作和传递聚合数据。通常,它们代表形成自然组的数据项,例如扑克牌(卡片集合)、邮件文件夹(信件集合)或电话目录(名称到电话号码的映射),如果你使用过Java编程语言 — 或者几乎任何其他编程语言 — 你已经熟悉了集合。
什么是集合框架
集合框架是用于表示和操作集合的统一体系结构,所有集合框架都包含以下内容:
-
接口
:这些是表示集合的抽象数据类型,接口允许独立于其表示的细节来操纵集合,在面向对象语言中,接口通常形成层次结构。
-
实现
:这些是集合接口的具体实现,实质上,它们是可重用的数据结构。
-
算法
:这些是对实现集合接口的对象执行有用计算(如搜索和排序)的方法,算法被认为是多态的:也就是说,相同的方法可以用于适当的集合接口的许多不同实现,实质上,算法是可重用的功能。
除了Java集合框架之外,最著名的集合框架示例是C++标准模板库(STL)和Smalltalk的集合层次结构,从历史上看,集合框架相当复杂,这使得它们难以学习,我们相信Java集合框架打破了这一传统,因为你将在本章中自学。
Java集合框架的优点
Java集合框架提供以下好处:
-
减少编程工作量:
通过提供有用的数据结构和算法,集合框架可以让你专注于程序的重要部分,而不是使其工作所需的低级“设施”,通过促进不相关API之间的互操作性,Java集合框架使你无需编写适配器对象或转换代码来连接API。
-
提高程序速度和质量:
此集合框架提供有用的数据结构和算法的高性能、高质量实现,每个接口的各种实现是可互换的,因此可以通过切换集合实现来轻松调整程序,因为你没有编写自己的数据结构的苦差事,所以你将有更多的时间用于改进程序的质量和性能。
-
允许不相关的API之间的互操作性:
集合接口是API来回传递集合的术语,如果我的网络管理API提供了一组节点名称,并且你的GUI工具包需要一组列标题,那么我们的API将无缝地互操作,即使它们是独立编写的。
-
减少学习和使用新API的工作量:
许多API自然地在输入上收集集合并将它们作为输出提供,过去,每个这样的API都有一个专门用于操作其集合的小型子API,这些ad hoc集合子API之间几乎没有一致性,因此你必须从头开始学习每一个,并且在使用它们时很容易出错,随着标准集合接口的出现,问题就消失了。
-
减少设计新API的工作量:
这是之前的优势的另一面,设计人员和实施人员每次创建依赖于集合的API时都不必重新发明轮子,相反,他们可以使用标准的集合接口。
-
促进软件重用:
符合标准集合接口的新数据结构本质上是可重用的,对于实现这些接口的对象进行操作的新算法也是如此。
原文
https://segmentfault.com/a/1190000017949672