Java集合对比

2019-09-30 06:53:02来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Java集合对比

1.array和ArrayList 的区别?
1.1:ArrayList是Array的复杂版本
1.2:数组不能扩容集合可以扩容
1.3:存储的数据类型:Array只能存储相同数据类型的数据,而ArrayList可以存储不同数据类型的数据

2.ArrayList与LinkList的区别?
相同点:
2.1:都可以重复添加元素
2.2:都是有顺序的集合
不同点:
2.3:ArrayList查询快,增删改查慢
2.4:LinkList查询慢,增删改查快(一般可以用在session版本的购物车)

3.Collection接口的remove()方法和Iterator(迭代器)接口的remove()方法区别?
性能方面:
3.1:iterator的remove方法效率高
容错方面:
3.2:iterator的遍历时不会报错
3.3:Collection接口的remove()方法有参数,Iterator(迭代器)接口的remove()方法无参数,但要在next()方法下

4.怎样将一个数组转成List,有什么方法
arrays.asList();//数组转集合方法
list.toArray();//集合转数组方法

5.HashSet、TreeSet、LinkedHashSet区别
5.1:需要速度快的集合,使用HashSet
5.2:需要集合有排序功能,使用TreeSet
5.3:需要按照插入的顺序存储集合,使用LinkedHashSet

6.HashMap、TreeMap、linkedHashMap区别?
6.1:在Map中插入、删除和定位元素,HashMap是最好的选择
6.2:需要集合有排序功能,使用TreeMap更好
6.3:需要按照插入的顺序存储集合,使用LinkedHashMap

7.HashMap和HashSet区别
HashMap:
实现了Map接口
存储键值对
调用put()向map中添加元素
HashMap使用key计算hashcode
HashMap相对于HashSet较快,因为它是使用唯一的键获取对象

HashSet:
实现了Set接口
存储对象
调用add()向set中添加元素
HashSet使用成员对象计算hashcode
HashSet较HashMap来说比较慢

8.HashMap的实现原理
通过put和get存储和获取对象,存储对象时,我们将K/V传给put方法时,它调用hashcode计算hash从而得到bucket位置,进一步存储,HashMap会根据当前bucket的占用情况自动调整容量。获取对象时,我们将K传递给get,他调用hashcode计算hash从而得到bucket位置,并进一步调用equals()方法确认键值对。

9.List、Set、Map之间的区别
9.1:list与set都继承与conllection接口
9.2:list有顺序,可以插入重复的元素
9.2:set无顺序,不可以插入重复元素
9.3:map键值存储,键唯一,值可以重复


原文链接:https://www.cnblogs.com/liangyan131/p/11581037.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java8 Streams 让集合操作飞起来

下一篇:图解Java常用数据结构