Java中集合之HashMap、LinkedHashMap

文章讲述了如何使用HashMap存储学生信息,强调在处理对象属性相同时需重写HashCode和equals方法。另外,文章还提出了一个场景,即统计班级学生选择的景点数量,以确定最受欢迎的景点。此外,提到了LinkedHashMap作为有序Map的实现方式。
摘要由CSDN通过智能技术生成

HashMap继承于Map,可以是用Map所有的方法

answer1:将学生的信息存储在HashMap中,当两个同学的姓名和年龄相同时,我们就视为是一个同学,因为在HashMap存储的是自定义类型Student类,所以我们要在Student类中重写HashCode方法和equals方法(因为此处我们想要比较的是两个对象的属性值,但原本的两个属性值相同的对象,hashCode值会不相同,但此处我们想要将它们视为一个对象,所以我们要重写Student类中的hashCode方法和equals方法,用于比较对象的属性值,此时哈希值就会相同)

answer2:某个班级80名同学,现在需要组成秋游活动,班长提供了四个景点依次是(A、B、C、D),每个学生只能选择一个景点,请统计出最终哪个景点想去的人数最多。

answer3:定义一个Map集合,键用表示省份名称province,值表示市city,但是市会有多个。添加完毕后,遍历结果格式如下:

 

 

LinkedHashMap:(底层数据结构依然是哈希表,只是每个键值对元素又额外多了一个双链表的机制记录存储的顺序)

由键决定:有序、不重复、无索引

有序指的是保证存储和取出的顺序一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值