在引入JCF之前,开发人员可以使用几个特殊的类对对象进行分组,即数组、向量和哈希表类。不幸的是,这些类有很大的局限性。除了缺乏一个通用的接口,它们很难扩展。
JCF为使用集合提供了一个总体的公共架构。集合界面包含几个不同的组件,包括:
l通用接口:主要集合类型的表示,包括集合、列表和映射
l实现:集合接口的具体实现,从通用到专用再到抽象;此外,还有一些与旧的数组、向量和哈希表类相关的遗留实现
l算法:操作集合的静态方法
l基础设施:对各种集合接口的底层支持
与以前的对象分组方法相比,JCF为开发者提供了许多好处。值得注意的是,JCF减少了开发人员编写自己的数据结构的需求,从而提高了Java编程的效率。
但是JCF也从根本上改变了开发人员使用API的方式。有了一种新的通用语言来处理不同的API,JCF使得开发人员学习、设计和实现API变得更加简单。此外,API的互操作性大大提高了。一个例子是Eclipse Collections,一个开源的Java集合库完全兼容不同的Java集合类型。
额外的开发效率提高了,因为JCF提供了更容易重用代码的结构。结果,开发时间减少了,程序质量提高了。