Java:集合类性能分析 - 编程入门网
Java:集合类性能分析时间:2011-02-25 zhangjunhd1.Java 集合框架图 -集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。 -抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。 -实现类:8个实现类(实线表示),对接口的具体实现。 2.Java容器类介绍 ① Java容器类都可以自动地调整自己的尺寸。 ② Collection 接口是一组允许重复的对象。 ③ Set 接口继承 Collection,不允许重复,使用自己内部的一个排列机制。 ④ List 接口继承 Collection,允许重复,以元素安插的次序来放置元素,不会重新排列。 ⑤ Map接口是一组成对的键-值对象,即所持有的是key-value pairs。Map中不能有重复的key。拥有自己的内部排列机制。 Java 2简化集合框架图 Java:集合类性能分析(2)时间:2011-02-25 zhangjunhd3.Collection接口 基本操作 -增加元素add(Object obj); addAll(Collection c); -删除元素 remove(Object obj); removeAll(Collection c); -求交集 retainAll(Collection c); Collection是最基本的集合接口,所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collection,有一个 Collection参数的构造函数用于创建一个新的Collection,这个新的Collection与传入的Collection有相同类型的元素。
结果: 1,2,3,4,5,6,7,8,9,10, 这里展示了Collection接口的2个用法,首先,Collection构造函数接受另一个Collection(List)作为参数,使其初始化。接着,调用addAll()方法添加元素,注意,该方法只接受另一个Collection作为参数。 此外,必须注意,Collection接口不提供随机访问元素的get()方法。因为Collection包括Set,而Set自己维护内部顺序。如果想检查Collection中的元素,那就必须使用迭代器。 4.List接口 4.1 List接口 List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。 和下面要提到的Set不同,List允许有相同的元素。 除了具有Collection接口必备的iterator()方法外,List还提供一个listIterator()方法,返回一个 ListIterator接口,和标准的Iterator接口相比,ListIterator多了一些add()之类的方法,允许添加,删除,设定元素, 还能向前或向后遍历。 4.2 LinkedList类 LinkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove,insert方法在 LinkedList的首部或尾部。这些操作使LinkedList可被用作堆栈(stack),队列(queue)或双向队列(deque)。此实现不是同步的。 4.3 ArrayList类 ArrayList实现了可变大小的数组。它允许所有元素,包括null。 size,isEmpty,get,set方法运行时间为常数。但是add方法开销为分摊的常数,添加n个元素需要O(n)的时间。其他的方法运行时间为线性。 每个ArrayList实例都有一个容量(Capacity),即用于存储元素的数组的大小。这个容量可随着不断添加新元素而自 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |