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

Java中集合类的区别,请高手详解

发布网友 发布时间:2022-04-25 18:37

我来回答

4个回答

热心网友 时间:2022-04-18 07:55

ArrayList 实现List接口 ,随着向 ArrayList 中不断添加元素,其容量也自动增长
Vector向量 不过我是不太喜欢这个类
HashMap实现Map接口--可以说内存就是一个HashMap
HashTable实现一个哈希表,该哈希表将键映射到相应的值
Set一个不包含重复元素的容器
HashMap, HashTable都是“Key-Value对”形式的
Vector和ArrayList区别
Vector和ArrayList Vector和ArrayList在使用上非常相似,都可用来表示一组数量可变的对象应用的集合,并且可以随机地访问其中的元素。
Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。
当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50%的大小,这样,ArrayList就有利于节约内存空间。

Hashtable和HashMap的区别
Hashtable和HashMap它们的性能方面的比较类似 Vector和ArrayList,比如Hashtable的方法是同步的,而HashMap的不是。

ArrayList和LinkedList的区别
对于处理一列数据项,Java提供了两个类ArrayList和LinkedList, ArrayList的内部实现是基于内部数组Object[], 所以从概念上讲,它更象数组,但LinkedList的内部实现是基于一组连接的记录,所以,它更象一个链表结构,所以,它们在性能上有很大的差别。
从上面的分析可知,在ArrayList的前面或中间插入数据时,你必须将其后的所有数据相应的后移,这样必然要花费较多时间,所以,当你的操作是在一列 数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能
而访问链表中的某个元素时,就必须从链表的一端开始沿着连接方向一个一个元素地去查找,直到找到所需的元素为止,所以,当你的操作是在一列数据的前面或中间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了。
如果在编程中,1,2两种情形交替出现,这时,你可以考虑使用List这样的通用接口,而不用关心具体的实现,在具体的情形下,它的性能由具体的实现来保证。
配置集合类的初始大小
在Java集合框架中的大部分类的大小是可以随着元素个数的增加而相应的增加的,我们似乎不用关心它的初始大小,但如果我们考虑类的性能问题时,就一定要考虑尽可能地设置好集合对象的初始大小,这将大大提高代码的性能。
比如,Hashtable缺省的初始大小为101,载入因子为0.75,即如果其中的元素个数超过75个,它就必须增加大小并重新组织元素,所以,如果你 知道在创建一个新的Hashtable对象时就知道元素的确切数目如为110,那么,就应将其初始大小设为110/0.75=148,这样,就可以避免重 新组织内存并增加大小。

热心网友 时间:2022-04-18 09:13

Array 是普通数组,容量不可变,貌似不在集合类包里
Vector 是容量可变的数组

List Set Map 都是接口

ArrayList,LinkedList 都是 List接口的实现,和数组基本差不多,可用操作比数组多
Map 存放的是键-值对 用键做索引

热心网友 时间:2022-04-18 10:48

http://www.yesky.com/405/1752905.shtml

可以去看看,有关集合的说明

热心网友 时间:2022-04-18 12:39

集合类型主要有3种:set(集)、list(列表)和map(映射)。
1、List(有序、可重复)
List里存放的对象是有序的,同时也是可以重复的,List关注的是索引,拥有一系列和索引相关的方法,查询速度快。因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢。
2、Set(无序、不能重复)

Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序,只是简单地把对象加入集合中。

3、Map(键值对、键唯一、值不唯一)

Map集合中存储的是键值对,键不能重复,值可以重复。根据键得到值,对map集合遍历时先得到键的set集合,对set集合进行遍历,得到相应的值。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...时间会发作,很痛的,请问是这样吗?会痛多久? ...已经坏了,如今全身浮肿,尿排不出,医生说就这 我爷爷得了肝癌晚期,腹水,不能手术.听说氩氦超冷刀技术能治.哪里有... 父亲59岁得了肝癌晚期,医生说最多半年时间了,上面还有80多岁的爷爷... 长春跑大连的列车员,怎么区分正式分和临时工呢? 员工刚怀孕就被开除,开除负责人拒不认错,你如何看待该公司的态度?_百 ... 员工在职期间怀孕,老板可以无故迟退吗? 老板开除怀孕女员工违法吗 如何选购蚊帐 什么样的蚊帐最好 java里的数组和集合的区别是什么? java 中数组和集合的区别 java的类集合的区别 Java中数组和集合的区别 手机用什么软件才能连接carplay 有没有支持carplay 别的地图软件 自己换机油怎么换? 什么浏览器支持CarPlay 换机油的正确方法? 怎么在家自己换机油? 汽车机油自己换怎么换呢? 去4S店里换机油太贵,自己换机油的好方法有没有呢? 自己如何换机油 自己可以换机油吗?该怎么做? 自己怎么换机油,换机油前需不需要先热车? 自己换机油的好方法有哪些?买哪种机油换动力提升更好? 自己动手的话怎么换机油? 自己换机油的好方法图 自己在家里动手换机油怎么换? 如何卸载visual studio2008 淘宝用户会员名可以更改吗? JAVA中集合的由来,以及集合和数组的区别 Java集合和数组的区别介绍 Java 中集合和数组 的区别 有没有谁知道JAVA中的一些集合类的区别,我看怎么用发都差不多,那在什么地方要用什么集合类呢! 在Java中数组和集合的主要区别 请问Java中的容器类与集合有什么区别? 学习方式有很多种,学习方式有哪些? 学习有哪些方法 怎样将PPT文档做成电子杂志 方法加有哪些适合小学生的学习方法? 如何用PPT制作电子杂志 电子杂志制作用什么软件好 学生有什么好的学习方法? 如何用PPT制作电子期刊? 促进学生学习的方法有哪些 怎么做杂志 PPT可不可以做成电子杂志样的?电子杂志怎么做?? 万能 的 拼音 是 如何用powerpoint制作电子期刊