Java集合框架

来源:互联网 发布:鼎新软件 编辑:程序博客网 时间:2024/05/17 22:54
这些子类拥有非常有用的功能、政策和机制。框架用户创建的子类的可以扩展类的功能,而不必重新创建基本的机制。例如:Swing就是一个用于用户界面的框架。
----------------------------------------------------------

集合接口Collection,是框架层次的根。

迭代器Iterator接口配有下面三个基本的方法:
Object next()
boolean hasNext()
void remove()
----------------------------------------------------------

列表接口List,继承Collection,允许包含重复的对象。(有序集合)

实现类有:AbstractList, ArrayList, LinkedList, Vector

ArrayList 类似数组,支持快速随机访问,通过索引可以快速访问ArrayList的元素;在ArrayList中间添加或删除元素效率低,因为被删除元素后面的所有元素都必须向前移动。

LinkedList 不支持快速随机访问,使用下面的随机访问方法极其低效,每次查看一个元素时,都必须从列表的开头重新开始搜索,LinkedList对象根本不将位置信息放入告诉缓存。
for(int i=0; i<list.size(); i++)
    do something with list.get(i)
LinkedList 适合元素的插入、删除操作。

列表迭代器接口ListIterator,能够告诉你当前的位置索引,ListIterator可以向前或向后得到元素。
----------------------------------------------------------

集合接口Set,继承Collection,不允许包含重复的对象,是数学集合的抽象。(无序集合)

子接口:SortedSet

实现类有:AbstractSet, HashSet, LinkedHashSet, TreeSet
----------------------------------------------------------

映射接口Map,映射键值对,不允许包含重复的键,一个键至多映射一个值。

子接口:SortedMap

实现类有:AbstractMap, Attributes, HashMap, Hashtable, IdentityHashMap, RenderingHints, TreeMap, WeakHashMap
----------------------------------------------------------

旧的集合

java 2 平台之前的数据结构:Vector, Stack, Hashtable, BitSet, Properties 和 Enumeration接口。

Vector类的各个方法是同步的,如果你不需要同步,使用ArrayList。

Hashtable类的作用与HashMap相同,他们有相同的接口。与Vector类的方法一样,Hashtable类的各个方法也是同步的。如果你不需要同步,或者不需要与旧代码想兼容,应该使用HashMap。

属性集Properties是个非常特殊的映射结构。他有下面三个特殊的特征。
1、关键字和值都是字符串。
2、表可以保存到一个文件,也可以从一个文件那里加载。
3、有一个默认辅助表。
属性集可以用于为程序设定配置选项。
 
原创粉丝点击