java集合框架体系

上传人:s9****2 文档编号:543919490 上传时间:2022-12-28 格式:DOCX 页数:2 大小:11.04KB
返回 下载 相关 举报
java集合框架体系_第1页
第1页 / 共2页
java集合框架体系_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《java集合框架体系》由会员分享,可在线阅读,更多相关《java集合框架体系(2页珍藏版)》请在金锄头文库上搜索。

1、集合框架体系总结一、概述 数据结构对程序设计有着深远的影响,在面向过程的 C 语言中,数据库结构用 struct 来描述, 而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法。 在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection Framework)。Java程序员在具体应用时,不必考虑数据结构和算法实现细节,只需要用这些类创建出来一 些对象,然后直接应用就可以了。这样就大大提高了编程效率。二、集合框架的层次结构Coll

2、ection 是集合接口ISet子接口:无序,不允许重复。IList子接口:有序,可以有重复元素。区别:Collections是集合类Set和List对比:Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引 起其他元素位置改变。Set 和 List 具体子类:SetIHashSet:以哈希表的形式存放元素,插入删除速度很快。ListIArrayList: 动态数组ILinkedList:链表、队列、堆栈。Array 和 java.util.VectorVector是一种老的动态数组

3、,是线程同步的,效率很低,一般不赞成使用。三、Iterator 迭代器(接口)Iterator是获取集合中元素的过程,实际上帮助获取集合中的元素。迭代器代替了 Java Collections Framework中的Enumeration。迭代器与枚举有两点不同: 迭代器允许调用方利用定义良好的语义在迭代期间从迭代器所指向的集合移除元素。 方法名称得到了改进。Iterator仅有一个子接口 ListIterator,是列表迭代器,允许程序员按任一方向遍历列表、迭 代期间修改列表,并获得迭代器在列表中的当前位置。 ListIterator 没有当前元素;它的光 标位置 始终位于调用 previo

4、us() 所返回的元素和调用 next() 所返回的元素之间。在长度为 n的列表中,有n+1个有效的索引值,从0到n (包含)。四、集合框架之外的 Map 接口Map 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射一个值。Map接口是Dictionary (字典)抽象类的替代品。Map 接口提供三种 collection 视图,允许以键集、值集合或键-值映射关系集的形式查看某 个映射的内容。映射的顺序 定义为迭代器在映射的 collection 视图中返回其元素的顺序。 某些映射实现可明确保证其顺序,如 TreeMap 类;某些映射实现则不保证顺序,如 HashMap 类。有

5、两个常见的已实现的子类:HashMap:基于哈希表的Map接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键 (除了不同步和允许使用 null 之外, HashMap 类与 Hashtable 大致相 同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。TreeMap:它实现SortedMap接口的基于红黑树的实现。此类保证了映射按照升序顺序排列 关键字,根据使用的构造方法不同,可能会按照键的类的自然顺序 进行排序(参见 Comparable),或者按照创建时所提供的比较器进行排序。Hashtable:此类实现一个哈希表,该哈希表将键映射到相应的值。任何非

6、null对象都可以 用作键或值。五、线程安全类在集合框架中,有些类是线程安全的,这些都是JDK1.1中的出现的。在JDK1.2之后,就 出现许许多多非线程安全的类。下面是这些线程安全的同步的类:Vector:就比ArrayList多了个同步化机制(线程安全)。Statck:堆栈类,先进后出。Hashtable:就比HashMap多了个线程安全。Enumeration :枚举,相当于迭代器。 除了这些之外,其他的都是非线程安全的类和接口。 线程安全的类其方法是同步的,每次只能一个访问。是重量级对象,效率较低。对于非线程 安全的类和接口,在多线程中需要程序员自己处理线程安全问题。六、其他一些接口和类介绍Dictionary 和 Hashtable 类:Dictionary提供键值映射的功能,是个抽象类。一般使用它的子类HashTable类。遍历Hashtable 类要用到枚举。Properties 类Properties 继承于 Hashtable, Properties 类表示了一个持久的属性集。 Properties 可保存在 流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。一般可以通过读取 properties 配置文件来填充 Properties 对象。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号