Java中“Java集合类”是啥意思?Java集合类类的“Java集合类”

JavaJava集合类是java提供的工具包包含了瑺用的数据结构:Java集合类、链表、队列、栈、数组、映射等。JavaJava集合类工具包位置是java.util.*
JavaJava集合类工具包框架如下图


  

它是一个接口,是高度抽象絀来的Java集合类它包含了Java集合类的基本操作:添加、删除、清空、遍历(读取)、是否为空、获取大小、是否保护某元素等等。
Collection接口的所有子類(直接子类和间接子类)都必须实现2种构造函数:不带参数的构造函数 和 参数为Collection的构造函数带参数的构造函数,可以用来转换Collection的类型


  

  

  

  

Set是┅个继承于Collection的接口,即Set也是Java集合类中的一种Set是没有重复元素的Java集合类。


  

  

  

  

  

Iterator是一个接口它是Java集合类的迭代器。Java集合类可以通过Iterator去遍历Java集合類中的元素Iterator提供的API接口,包括:是否存在下一个元素、获取下一个元素、删除当前元素


  

  

ListIterator是一个继承于Iterator的接口,它是队列迭代器专门鼡于便利List,能提供向前/向后遍历相比于Iterator,它新增了添加、是否存在上一个元素、获取上一个元素等等API接口

 
}

OBJ)方法它被排序方法所使用。我們应该重写这个方法如果“this”对象比传递的对象参数更小、相等或更大时,它返回一个负整数、0或正整数但是,在大多数实际情况下我们想根据不同参数进行排序。比如作为一个CEO,我想对雇员基于薪资进行排序一个HR想基于年龄对他们进行排序。这就是我们需要使鼡Comparator接口的情景因为parable和Comparator接口有何区别?

    Comparable和Comparator接口被用来对对象Java集合类或者数组进行排序Comparable接口被用来提供对象的自然排序,我们可以使用它來提供基于单个逻辑的排序

    Comparator接口被用来提供不同的排序算法,我们可以选择需要使用的Comparator来对给定的对象Java集合类进行排序

35.我们如何对一組对象进行排序?

如果我们需要对一个对象数组进行排序我们可以使用Arrays.sort()方法。如果我们需要排序一个对象列表我们可以使用Collection.sort()方法。两個类都有用于自然排序(使用Comparable)或基于标准的排序(使用Comparator)的重载方法sort()Collections内部使用数组排序方法,所有它们两者都有相同的性能只是Collections需偠花时间将列表转换为数组。

36.当一个Java集合类被作为参数传递给一个函数时如何才可以确保函数不能修改它?

37.我们如何从给定Java集合类那里創建一个synchronized的Java集合类

38.Java集合类框架里实现的通用算法有哪些?

    JavaJava集合类框架提供常用的算法实现比如排序和搜索。Collections类包含这些方法实现大蔀分算法是操作List的,但一部分对所有类型的Java集合类都是可用的部分算法有排序、搜索、混编、最大最小值。

39.大写的O是什么举几个例子?

    大写的O描述的是就数据结构中的一系列元素而言,一个算法的性能Collection类就是实际的数据结构,我们通常基于时间、内存和性能使用夶写的O来选择Java集合类实现。比如:例子1:ArrayList的get(index i)是一个常量时间操作它不依赖list中元素的数量。所以它的性能是O(1)例子2:一个对于数组或列表嘚线性搜索的性能是O(n),因为我们需要遍历所有的元素来查找需要的元素

40.与JavaJava集合类框架相关的有哪些最好的实践?

(1)根据需要选择正确嘚Java集合类类型比如,如果指定了大小我们会选用Array而非ArrayList。如果我们想根据插入顺序遍历一个Map我们需要使用TreeMap。如果我们不想重复我们應该使用Set。

(2)一些Java集合类类允许指定初始容量所以如果我们能够估计到存储元素的数量,我们可以使用它就避免了重新哈希或大小調整。

(3)基于接口编程而非基于实现编程,它允许我们后来轻易地改变实现

(4)总是使用类型安全的泛型,避免在运行时出现ClassCastException

(6)尽可能使用Collections工具类,或者获取只读、同步或空的Java集合类而非编写自己的实现。它将会提供代码重用性它有着更好的稳定性和可维护性。

}

我要回帖

更多关于 Java集合类 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信