一个集合,即collection,有时也被称为一个容器,只是将多个元素聚集成一个单元。Collections常被用来存储、检索、操纵聚集数据以及聚集数据间的通信。一般来说,Collections表示一组形成自然集合的数据项,比如一手扑克牌、一个信箱(由很多信组成)或者电话簿。 如果你熟悉Java语言或者任何一门其他编程语言,你可能已经对Collections比较熟悉了。Java 1.2之前的集合实现,包括Vector、Hashtable和array,但是这些早期实现版本不包括集合框架。
那么什么是集合框架呢? 一个集合框架是表示和操纵集合的同一架构。所有集合框架都包含下面几项:
接口:即表示集合的抽象数据类型,ADT。接口使得在使用集合时不需要关注集合的实现细节。在面向对象语言中,接口一般会形成层次结构。
实现:集合接口的具体实现。实际上它们是可复用的数据结构
算法:在实现集合接口的对象上进行的各种有意义的计算,如搜索、排序。实际上,算法是可复用的功能单元。
除了Java集合框架以外,其他有名的集合框架有C++ STL和Smalltalk语言的集合层次架构。历史上,集合框架因为他们相当复杂而具有相当陡峭的学习曲线,并因此而恶名昭著。
使用Java集合框架的好处 Java集合框架提供了下面的好处:
减轻编程负担:集合框架通过提供有用的数据结构和算法,使得我们从底层算法中解脱出来而能更专注于代码逻辑
提高编程效率和编程质量:Java集合框架提供了各种有用的数据结构算法的高性能、高质量实现。因为程序员从自己实现各种数据结构的艰苦工作中解放出来,因此有更多时间用来改善程序质量和程序性能
允许互操作性
减少了学习和使用新API的负担
减少了设计新API的负担
促进软件复用:符合标准集合接口的新数据结构天生可复用。操作于实现集合接口的对象上的新算法亦然。