Java.util是什么意思

如题所述

第1个回答  2019-03-04

1. util包的框架

常用的集合类主要实现两个“super接口”而来:Collection和Map。

1.1 Collection有两个子接口:List和Set

List特点是元素有序,且可重复。实现的常用集合类有ArrayList、LinkedList,和Vector(线程安全)。

Set特点是元素无序,不可重复。实现的常用集合类有HashSet,LinkedHashSet,TreeSet(可排序)

1.2 Map是key、value键值对的集合

特点是key值无序不可重复,value值可重复(这样表述其实不太准确,因为实际上key和value是绑定在一起的)。常用的有HashMap,HashTable(线程安全),TreeMap(可排序)。

1.3 其余重要接口和类

上面是util包中的集合框架,一般Java教材里面都会讲到。但我们深入研究一下,会发现还有其余几个重要的内容:

Iterator:迭代接口 

集合类实现该接口后便具有了迭代功能。最简单的迭代实现是ArrayList,迭代过程其实就是数组的迭代。LinkedList、LinkedHashSet和LinkedHashMap迭代过程就是链表的迭代。这两者的迭代效率都很高,迭代时间与容器里的元素数目成正比。但HashSet、HashMap迭代效率就略低了,因为采用了哈希表,所以元素是散列在数组中的,迭代时必须读完整个数组,迭代时间与容器的容量成正比。

Comparator:比较接口 

实现该接口后,集合内元素便可比较通过compare()方法实现元素排序

AbstractXXX:骨架类 

所谓骨架类,其实就是不同集合的核心代码实现,让继承这个抽象类的子类少干点活。例如AbstarctList代表“随机访问”集合(底层数组实现)的骨干代码实现。AbstractSequentialList代表“连续访问”(底层链表实现)集合的骨干代码实现。

Collections、Arrays 

集合工具类和数组工具类。Java中的工具类好像都喜欢在对应的接口或类名称后,加S来表示其工具类。

第2个回答  2019-03-04
一个工具包
相似回答