小编red*_*hoe的帖子

treeMap.entrySet()不应该返回一个SortedSet吗?

为什么treeMap.entrySet()treeMap.keySet()方法不返回SortedSet?我可能会说这是一个错误.根据API,Set被定义为没有特定的排序.但是,TreeMap返回的集合确实有特定的顺序.

java collections

8
推荐指数
1
解决办法
979
查看次数

当我在TreeMap中覆盖"put(K键,V值)"时,如何更改"值"?

我扩展了TreeMap,覆盖了"put()",并做了类似的事情:

public class MyMap<K, Integer> extends TreeMap<K, Integer> {
    @Override
    public Integer put(K key, Integer value) throws ClassCastException, NullPointerException {
        java.lang.Integer newValue = java.lang.Integer.valueOf(123);
        super.put(key, newValue); // <--- error message here
        return newValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

错误消息:
没有找到适合put的方法(K,java.lang.Integer)... java.lang.Integer无法转换为Integer.

我知道它与泛型有关.改变被覆盖的"put()"中的"值"似乎是一件合理的事情,但我无法弄清楚这一点.

java generics overriding

2
推荐指数
1
解决办法
500
查看次数

如果我总是在Comparator.compare()中返回0,为什么我最终在我的Set中有1个项目?

我为TreeSet编写了一个自定义Comparator.为了调试,我决定硬连线"compare()"以始终返回0.令我惊讶的是,一个项目被输入到Set中.

那为什么会这样?我正在尽力理解"set.add()"和"compare()"之间的关系.

java collections

0
推荐指数
1
解决办法
577
查看次数

标签 统计

java ×3

collections ×2

generics ×1

overriding ×1