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最为常用!

wordpress专业外贸建站主题 WordPress专业外贸企业网站搭建模版

WordPress专业外贸企业网站搭建模版,特色专业外贸企业风格 + 自适应网站开发设计 通用流行的外贸企业网站模块 + 更好的SEO搜索优化和收录 自定义多模块的产品展示功能 + 高效实用的后台自定义模块设置!采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera...

美国云服务器 1核 1G 100M 10G防御 39元/月 物语云计算

物语云计算(MonogatariCloud)是一家成立于2016年的老牌国人商家,主营国内游戏高防独服业务,拥有多家机房资源,产品质量过硬,颇有一定口碑。本次带来的是美国圣何塞 Equinix 机房的高性能I9-10980XE大带宽VPS,去程CN2GIA回程AS9929,美国原生IP,支持解锁奈飞等应用,支持免费安装Windows系统。值得注意的是,物语云采用的虚拟化技术为Hyper-V,资源全...

易探云:买香港/美国/国内云服务器送QQ音乐绿钻豪华版1年,价值180元

易探云产品限时秒杀&QQ音乐典藏活动正在进行中!购买易探云香港/美国云服务器送QQ音乐绿钻豪华版1年,价值180元,性价比超级高。目前,有四大核心福利产品推荐:福利一、香港云服务器1核1G2M,仅218元/年起(香港CN2线路,全球50ms以内);福利二、美国20G高防云服务器1核1G5M,仅336元/年起(美国BGP线路,自带20G防御);福利三、2G虚拟主机低至58.8元/年(更有免费...

java集合为你推荐
stackoverflowerrorjava.lang.StackOverflowError该如何解决0x800700050x80070005拒绝访问主要是什么问题oncontextmenuoncontextmenu="return false"是什么意思oncontextmenu如何禁用ImageButton的右键?最开放的浏览器目前最好的游览器?mindmanager破解版求mindmanager 2019 的注册机jdk6JDK6和JDK7两个版本有什么区别,初学者选那个好?调度系统生产调度系统有b吗34B的胸围有多大?ruby语言Ruby语言输入方法法
asp虚拟主机 新网域名 大庆服务器租用 sharktech omnis 128m内存 la域名 国内加速器 全能主机 500m空间 可外链网盘 网络空间租赁 免费高速空间 免费phpmysql空间 t云 购买国外空间 爱奇艺会员免费试用 linux使用教程 香港亚马逊 360云服务 更多