我正在寻找允许一个null
密钥的TreeMap
。我需要的是一个排序的 Map<Long,String>
,其中我可以插入一个代表默认值的 null
键:如果映射不包含指定的密钥,则将使用与null
密钥关联的值。
我已经搜索了这张地图已有一段时间了,但是我发现的只是TreeMap
,它不允许null
键。
Java是否有任何允许null
键的排序地图?
您也许可以写自己的。这样的东西可能会在修补中使用。
static class MapWithDefault<K, V> extends TreeMap<K, V> {
private V dflt;
@Override
public V get(Object key) {
V v = super.get(key);
return v == null ? dflt : v;
}
@Override
public V put(K key, V value) {
if (key == null) {
V was = dflt;
dflt = value;
return was;
}
return super.put(key, value);
}
public void setDflt(V dflt) {
this.dflt = dflt;
}
}