HashSet TreeSet LinkedList ArrayList Hashmap Treemap

本文详细介绍了Java中集合类的特点及应用场景,包括List、Set、Map的不同实现类,如ArrayList、LinkedList、HashSet、TreeSet、HashMap和TreeMap。阐述了各集合类是否允许重复元素、是否自动排序,并解释了何时需要重写equals和compareTo方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HashSet  TreeSet  LinkedList  ArrayList  Hashmap  Treemap,哪些里边的对象是不能重复的,哪些是自动排序的,在使用自定义类型对象判断比较时,哪些需要重写equals,哪些需要重写compareTo。总结如下
 
首先它们6个是分属于三个类别中的,也就是List,Set,Map。

List与Set都是放单独的对象的,Map则是放一个名值对,就是可以通过一个key找到一个value。

List存东西是有顺序的,Set是没有顺序的。

List是允许重复存入的,Set不可以。

ArrayList,看这名字,你可以把它当个数组,数组你知道吧,大小是固定的,所以它的特点是查找快(数组里都有下标值),可是插入和移除却很慢

LinkedList,你可以把它当做个链表,它的特点是插入很容易,查找特别慢(至于为什么自己去看看链表吧)

HashSet,用了hash嘛~查找更快了~

TreeSet,这个是自动排序的,缺省是自然排序哈。

至于HashMap和TreeMap,和Set的差不多,HashMap查找快,TreeMap对KEY自动自动排序。

说说重写。

为什么要重写equals?当然是判断两个元素是否相等了,这个时候就要重写equals了,别忘了重写hashcode

compareTo是用来比较的,大部分都是用来排序的,所以当你有这种需求的时候就去重写compareTo吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值