Java在Java2中就已经提供了特设类。比如:Dictionary,Vector,Stack,Properties等等用来存储和操纵对象组。
尽管这些分类很有用,但是缺少一个核心而统一的主题。所以,使用Vector类的方法与Properties类是非常不同的。
根据下列目的设计集合框架。
架构必须具有性能。还必须有效地实现基本集合(动态数组、链表、树、散列表)。
这个框架允许不同类型的集合以相似的方式工作,具有很高的互操作性。
扩充并适应集合必须简单。
为了达到这一目的,整个集合框架设计了一套标准接口。对于LinkedList、HashSet、TreeSet等等,您可以直接使用这些接口的标准,另外,也可以通过这些接口实现自己的集合。
Java的高级教程第2部分:Java集合框架。
通过以上的集合框架图表,您可以看到,Java集合框架主要包含两类容器,一类是集合,一类是元素,另一类是图(Map),用于存储键/值对映射。collection接口有三个种子类型,List、Set和Queue,下面是一些抽象类,最后是具体的实现类,常见的有ArayList,LinkedList,HashSet,LinkedHashSet,LinkedHashMap等。
集框是一种统一的表示与操纵集合的框架。全部收集框架包含下列各项:
interface:一种抽象数据类型。比如组合、列表、设置、映射等等。通过不同的方法操作集合对象,可以定义多个接口。
实施(类):是集合接口的具体实现。实际上,这些数据结构可以重复使用,比如ArrayList、LinkedList、HashSet、HashMap等等。
算法:在集合接口对象中实现一些方法执行的有用计算,例如:搜索和排序。由于同样的方法可以在类似的接口上实现,所以这两种算法称为多态。
除收集外,该框架还定义了一些Map界面和类别。键值对存储在Map中。尽管Map并非集合,但是它们完全集成在一个集合中。
图片中显示的是收集框架系统。
JavaSolutionFramework提供了一组性能优异、易用的界面和类别。java集合框架位于javautil包中,所以当使用集合框架时,需要引导包。
二,收集界面。
colleframework定义了一些接口。这一部分对每个接口进行概述:
Java的高级教程第2部分:Java集合框架。
Set与List的区别。
1.Set接口实例存储无序和无重复数据。列表接口实例存储有顺序的可重复元素。
2.Set检索效率低,删除和插入效率高,而且插入和删除不会导致元素位置发生变化。目前有HashSet和TreeSet>。
3.List与数组相似,可以根据实际存储的数据长度动态增长。由于会导致其它元素位置发生改变,搜索元素效率较高,插入删除效率低。实际的类别包括Arraylist、链接列表和Vector>。
三、集合实施类(集合类)
Java为实现Collection接口提供了一组标准的集合类。这些类中有一些是可直接使用的具体类,其他是提供接口部分的抽象类。
下面的表格总结了标准的集合类:
下一章节我们将介绍Java高级教程第三节:Java 泛型