阅读量:0
HashMap 的 get 方法用于根据键获取对应的值
- 使用 Java 8 引入的
computeIfAbsent
方法:
V value = map.computeIfAbsent(key, k -> defaultValue);
这个方法会在键不存在时将键和默认值添加到 HashMap 中。如果你只是想获取值而不修改 Map,那么这个方法可能不太适合。
- 使用 Java 8 引入的
getOrDefault
方法:
V value = map.getOrDefault(key, defaultValue);
这个方法在键不存在时返回默认值,但不会修改 Map。
- 使用 Optional 类(Java 8):
Optional<V> optionalValue = Optional.ofNullable(map.get(key)); V value = optionalValue.orElse(defaultValue);
Optional 类允许你更优雅地处理可能为空的值。在这个例子中,我们首先创建一个 Optional 对象,然后使用 orElse
方法提供一个默认值。
- 自定义函数:
public static <K, V> V getOrDefault(Map<K, V> map, K key, V defaultValue) { V value = map.get(key); return value != null ? value : defaultValue; }
这个方法接受一个 Map、一个键和一个默认值作为参数,并返回与键关联的值,如果键不存在,则返回默认值。
请注意,这些替代方案都有其优缺点。在选择替代方案时,请确保了解它们的行为以及何时适用于你的需求。