Map集合之HashMap(二),前端面试宝典铁道出版社

HashMap<String, String> hm = new HashMap<>(8);

hm.put(“重地”,“1”);

hm.put(“通话”,“2”);

hm.values().forEach(str-> System.out.println(str));

for (String value : hm.values()) {

// hm.put(“qfc”,“123”);//java.util.ConcurrentModificationException

// hm.remove(“重地”);//java.util.ConcurrentModificationException

}

}

private static void keySetTest() {

HashMap<String, String> hm = new HashMap<>(8);

hm.put(“重地”,“1”);

hm.put(“通话”,“2”);

hm.keySet().forEach(str-> System.out.println(str));

for (String s : hm.keySet()) {

// hm.put(“qfc”,“1”);//java.util.ConcurrentModificationException

// hm.remove(“通话”);//java.util.ConcurrentModificationException

}

}

private static void cloneTest() {

HashMap<Person, String> hm = new HashMap<>(8);

Person p1 = new Person(“qfc”,18);

Person p2 = new Person(“zyx”,19);

hm.put(p1,“1”);

hm.put(p2,“2”);

/**

  • clone方法

  • 首先HashMap clone = super.clone();获得克隆对象

  • 然后clone对象重置HashMap的属性,table,threshold,size,modcount,entrySet,keySey,values

  • 然后重新将super的key-value重新put进clone中

  • 由于clone和super中的对应key和value都是指向同一个对象,所以还是属于浅克隆

*/

HashMap<Person, String> clone = (HashMap) hm.clone();

clone.put(p1,“3”);

System.out.println(hm.get(p1));//1

System.out.println(clone.get(p1));//3

Person next = clone.keySet().iterator().next();

next.setAge(100);

Person next1 = hm.keySet().iterator().next();

System.out.println(next1.getAge());//100

for (Map.Entry<Person, String> personStringEntry : hm.entrySet()) {

System.out.println(personStringEntry.getKey());

}

// Person{name=‘qfc’

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值