【发布时间】:2020-07-13 02:23:01
【问题描述】:
由于 Struts 的原因,我需要一个始终返回非空值的排序映射。
对于我的具体案例,我有以下实现,效果很好:
public class NonEmptyMap extends TreeMap<String, List<MyObject>> {
@Override
public List<MyObject> get(Object key) {
final List<MyObject> result = super.get(key);
if (result == null) {
super.put((String) key, new NonEmptyList<MyObject>(MyObject.class));
}
return super.get(key);
}
}
NonEmptyList 是一个特殊版本的列表,它总是返回非空对象。例如 nonEmptyList.get(2) 调用大小为 1 的 nonEmptyList 将是创建 2 个空的 MyObject 对象的原因,将它们插入列表并将最新元素返回给客户端调用。
我想概括实现以支持任何Key/Value
有没有现成的库实现?
【问题讨论】:
标签: java collections guava apache-commons treemap