9.3 映射

Java映射表操作指南
本文介绍了使用Java进行映射表的基本操作,包括快速查找关联值的方法、如何更新映射表项、获取键值对视图及使用特殊类型的映射如弱散列映射等。此外还展示了如何通过枚举创建集合和映射,并使用IdentityHashMap进行基于内存地址的比较。

快速找到关联的值


1 基本映射操作

Map<String, Employee> staff = new HashMap<>(); // HashMap implements Map
Employee harry = new Employee("Harry Hacker");
staff.put("987-98-9996", harry);
String id = "987-98-9996";
Employee e = staff.get(id); // gets harry

用Lambda表达式遍历映射表

scores.forEach((k, v) ->
System.out.println("key=" + k + ", value=" + v));

2 更新映射表项


3 映射视图

Set<K> keySet() //取键
Collection<V> values() //取值
Set<Map.Entry<K, V>> entrySet()//取键值对

4 弱散列映射

自动回收不用的值


5 链表散列的集合和映射


6 枚举式的集合和映射

enum Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY };
EnumSet<Weekday> always = EnumSet.allOf(Weekday.class);
EnumSet<Weekday> never = EnumSet.noneOf(Weekday.class);
EnumSet<Weekday> workday = EnumSet.range(Weekday.MONDAY, Weekday.FRIDAY);
EnumSet<Weekday> mwf = EnumSet.of(Weekday.MONDAY, Weekday.WEDNESDAY, Weekday.FRIDAY);

7 IdentityhashMap

采用计算机内存地址作为hashCode,所以可以用==进行比较。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值