java集合JAVA语言中 常用的集合有那些,它们的特点是什么?

java集合  时间:2021-07-09  阅读:()

java的集合

一、Set集合,其主要实现类有HashSet、TreeSet。

存放对象的引用,不允许有重复对象。

通过java的equals()方法判别。

如果有特殊需求须重载equals()方法。

1、HashSet(),调用对象的hashCode()方法,获得哈希码,然后再集合中计算存放对象的位置。

通过比较哈希码与equals()方法来判别是否重复。

所以,重载了equals()方法同时也要重载hashCode()方法。

2、TreeSet(),继承ShortedSet接口,能够对集合中对象排序。

默认排序方式是自然排序,但该方式只能对实现了Comparable接口的对象排序,java中对Integer、Byte、Double、Character、String等数值型和字符型对象都实现了该接口。

如果有特殊排序,须重载该接口下pareTo()方法或通过Comparator接口的实现类构造集合。

二、List集合,其主要实现类有LinkedList、ArrayList,前者实现了链表结构,后者可代表大小可变的数组。

List的特点是能够以线性方式储蓄对象,并允许存放重复对象。

List能够利用Collections类的静态方法sort排序。

sort(List list)自然排序;sort(List listm,parator)客户化排序。

三、Map集合,其主要实现类有HashMap、TreeMap。

Map对值没有唯一性要求,对健要求唯一,如果加入已有的健,原有的值对象将被覆盖。

HashMap类按照哈希算法来存取键对象,可以重载equals()、hashCode()方法来比较键,但是两者必须一致。

TreeMap,可自然排序,也可通过传递Comparator的实现类构造TreeMap。

java 集合类的基本概念

java集合我的理解就是一种容器可以容纳不同的数据类型。

因为每种集合的实现原理不同,其中有的是按顺序排列的,有的是键值对对应的,还有线程安全的不同特性,每种集合都有自己的特性。

JAVA语言中 常用的集合有那些,它们的特点是什么?

常用的集合接口有:list,map,set list:arraylist,linkedlist map:hashlist,treemap,linkedhashmap set:hashset,treeset,linkedhashset set:不能插入重复的元素。

map:是以key-vlaue对的形式存放的。

就像字典一样。

list:已插入的顺序为准读取的。

arraylist:在数据的插入和删除方面速度不佳,但是在随意提取方面较快。

linkedlist:在指定的位置插入和删除数据佳,但是在随意提取方面不好。

上述以arraylist和hashmap最为常用!

青云互联-洛杉矶CN2弹性云限时五折,9.5元/月起,三网CN2gia回程,可选Windows,可自定义配置

官方网站:点击访问青云互联官网优惠码:五折优惠码:5LHbEhaS (一次性五折,可月付、季付、半年付、年付)活动方案:的套餐分为大带宽限流和小带宽不限流两种套餐,全部为KVM虚拟架构,而且配置都可以弹性设置1、洛杉矶cera机房三网回程cn2gia 洛杉矶cera机房                ...

RAKsmart含站群服务器/10G带宽不限流量首月半价

RAKsmart 商家估摸着前段时间服务器囤货较多,这两个月的促销活动好像有点针对独立服务器。前面才整理到七月份的服务器活动在有一些配置上比上个月折扣力度是大很多,而且今天看到再来部分的服务器首月半价,一般这样的促销有可能是商家库存充裕。比如近期有一些服务商挖矿服务器销售不好,也都会采用这些策略,就好比电脑硬件最近也有下降。不管如何,我们选择服务器或者VPS主机要本着符合自己需求,如果业务不需要,...

无忧云:洛阳/大连BGP云服务器38.4元/月,雅安物理机服务器315元/月起,香港荃湾CN2限时5折优惠

无忧云怎么样?无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点,目前商家开启了夏日清凉补贴活动,商家的机器还是非常...

java集合为你推荐
measureweigh和measure的区别??ISDNISDN是什么?赶什么用的? 详细点谢谢!洗牌算法关于洗牌算法,请用JAVA编写,定义一个数组,储存1-52以内的数,打乱顺序输出!fcloseC语言fclose错误空白代码空白名字代码最开放的浏览器目前最好的游览器?mindmanager破解版求亿图mac破解版百度云!!!保留两位有效数字什么叫保留两位有效数字vipjr大家觉得vipjr少儿英语怎么样?靠谱不网页微信客户端什么叫微信网页版?和电脑版是一回事吗?
日本动态vps 主机屋 阿里云邮箱登陆首页 securitycenter 香港机房 博客主机 softbank官网 ixwebhosting 线路工具 lamp配置 cpanel空间 帽子云 赞助 流量计费 爱奇艺vip免费试用7天 中国网通测速 卡巴斯基免费试用 1美金 hktv 绍兴电信 更多