Java学习笔记:HashMap集合

1.HashMap的构造

HashMap<Integer,String> Stu=new HashMap<>();

第一个称为“键”,第二个为“值”,键和值是一一对应的,即一个键只能对应一个值。

2.HashMap常用API

Stu.put(1,"张三");//添加元素,如果再次使用该键,则修改值
Stu.get(key)//获取键所对应的值
Stu.containsKey(key)//是否包含该键
Stu.remove(key)//移除该键值对

3.HashMap两种遍历方式

(1)键找值

通过Stu.KeySet()方法返回一个关于键的Set集合,并通过键找到对应的值

Set<Integer> StuKey = Stu.keySet();
        for (Integer i : StuKey) {
            String name=Stu.get(i);
            //通过“键找值”遍历打印
            System.out.println("Key="+i+",value="+name);
        }

(2)键值对

Stu.entrySet()返回一个键值对Set集合,对象类型为Map.Entry

 Set<Map.Entry<Integer, String>> entries = Stu.entrySet();
        for (Map.Entry<Integer, String> entry : entries) {
            System.out.println("key="+entry.getKey()+",value="+entry.getValue());
        }

此处用到的API:

Entry.getKey();//获取该对象的键
Entry.getValue();//获取该对象的值

4.LinkedHashMap

大部分内容和上面是一样的,需要注意的是:如果要避免某个属性重复,则需要重写equals方法和hashcode方法,例如为了避免学号(ID)重复,需要这样重写(快捷键Alt+Insert,需要修改一点内容):

public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return Objects.equals(ID, student.ID) ;
    }

    @Override
    public int hashCode() {
        return ID.hashCode();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值