HashMap 的 get 方法用于根据键获取对应的值
computeIfAbsent
方法:V value = map.computeIfAbsent(key, k -> defaultValue);
这个方法会在键不存在时将键和默认值添加到 HashMap 中。如果你只是想获取值而不修改 Map,那么这个方法可能不太适合。
getOrDefault
方法:V value = map.getOrDefault(key, defaultValue);
这个方法在键不存在时返回默认值,但不会修改 Map。
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、一个键和一个默认值作为参数,并返回与键关联的值,如果键不存在,则返回默认值。
请注意,这些替代方案都有其优缺点。在选择替代方案时,请确保了解它们的行为以及何时适用于你的需求。