问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA中几种集合(List、Set和Map)的区别

发布网友 发布时间:2022-03-29 01:32

我来回答

1个回答

热心网友 时间:2022-03-29 03:01

Java中的集合包括三大类,它们是Set、List和Map。它们都处于java.util包中,Set、List和Map都是接口。

Set中的对象不按特定方式排序,并且没有重复对象。但它的有些实现类能对集合中的对象按特定方式排序,例如TreeSet类,它可以按照默认排序,也可以通过实现java.util.Comparator接口来自定义排序方式。

List中的对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象,如通过list.get(i)方式来获得List集合中的元素。

Map中的每一个元素包含一个键对象和值对象,它们成对出现。键对象不能重复,值对象可以重复。

Map的功能方法 :  

方法put(Object key, Object value)添加一个“值”(想要得东西)和与“值”相关联的“键”(key)(使用它来查找)。方法get(Object key)返回与给定“键”相关联的“值”。可以用containsKey()和containsValue()测试Map中是否包含某个“键”或“值”。

标准的Java类库中包含了几种不同的Map:HashMap, TreeMap, LinkedHashMap, WeakHashMap, IdentityHashMap。它们都有同样的基本接口Map,但是行为、效率、排序策略、保存对象的生命周期和判定“键”等价的策略等各不相同。

执行效率是Map的一个大问题。看看get()要做哪些事,就会明白为什么在ArrayList中搜索“键”是相当慢的。而这正是HashMap提高速度的地方。HashMap使用了特殊的值,称为“散列码”(hash code),来取代对键的缓慢搜索。

“散列码”是“相对唯一”用以代表对象的int值,它是通过将该对象的某些信息进行转换而生成的。所有Java对象都能产生散列码,因为hashCode()是定义在基类Object中的方法。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
刚开始学钢琴每天需要自行练习多长时间?每星期上一般上几节课? 一对一钢琴课多久上一次比较好 呜呜呜 我家电脑正式被AU淘汰了 为什么我能进AU,但是一进任何一F就会自动退出? 我的本本为什么玩不了AU 中飞院是一本大学吗 中国民航飞行学院是几本呢? 广州4050补贴最新规定 4050社保补贴给䃼给个人还是单位? 我15岁我的那个东西正常的话要有多长 java中的几个集合类 新形势下如何做好火灾防控 如何防止火灾的发生? 预防森林火灾的措施有哪些? 怎样预防火灾,有几种灭火的方法? 正确的火灾防范措施有哪些 如遇到火灾我们学生应该怎么做? 工作场所应做哪些火灾预防措施?发生火灾后如何处置? 怎样做好火灾防范措施 java中的集合有几种 5000元的手表什么牌子比较好 五千左右买什么手表好 月收入5000想买款手表,有哪些良心品牌推荐? 想买块男士手表,价格5000左右,二十几岁带的。 泗洪表店5000块钱的是什么表 想给自己买块表,5000以上的,有哪些推荐? 5000左右的手表哪个牌子要好一点 5000元左右的手表哪个牌子比较好? 5000左右的表买什么好 5千左右 买什么牌子手表好 朴信惠人品怎么样?她和李承焕的事情是不是真的? 朴信惠官宣婚讯,婚前已意外怀孕,其男友有何背景? 蔡琳和李承焕为什么离婚? 朴信惠演过的电视剧有哪些? 朴信惠演过什么韩剧啊? 朴信惠在《哥》中的形象是什么样的? 朴信惠是谁?什么背景~ 朴信惠13岁就进演艺圈 拍天国的阶梯了? 韩国女演员有哪些? 朴信惠是怎么被导演发掘的? 韩剧继承者车恩尚扮演者 韩国女明星有哪些? 原来是美男当中的女主角高美男叫什么 朴信惠相当于中国的谁? 朴信惠在韩国红吗?在韩国的人气相当于中国哪个女... 朴信惠的下一部剧是什么 事业单位会因为什么原因被辞退 事业单位辞退员工有什么规定 事业单位辞退员工补偿标准 事业编会不会被辞退