TreeMap允许null键

时间:2018-02-07 08:46:11

标签: java null treemap

我正在搜索允许一个sort($make); foreach($make as $key => $value): if($value != '') { echo ' <label> <input type="checkbox" name="make[]" value="'.$value.'" id="'.$value.'"> '.ucfirst(strtolower($value)).'</label> <br>'; } endforeach; 密钥的TreeMap。我需要的是一个排序null,我可以在其中插入一个代表默认值的Map<Long,String>键:如果地图不包含指定的键,则与null键关联的值将是使用。
我一直在搜索这张地图很长一段时间,但我找到的只是null,它不允许使用TreeMap个键。

Java是否有任何允许一个null密钥的排序映射?

1 个答案:

答案 0 :(得分:3)

你也许可以写自己的。这样的事情可能会有些修补。

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;
    }
}
相关问题