【发布时间】:2013-06-20 17:42:38
【问题描述】:
我想创建一个类,它是TreeMap 的扩展类,它只能将整数映射到整数。有没有比简单地将所有内容都转换为 Integer 更好的方法来做到这一点?
【问题讨论】:
标签: java data-structures treemap
我想创建一个类,它是TreeMap 的扩展类,它只能将整数映射到整数。有没有比简单地将所有内容都转换为 Integer 更好的方法来做到这一点?
【问题讨论】:
标签: java data-structures treemap
尝试将你的类声明为
class MyTreeMap extends TreeMap<Integer, Integer> {
注意MyTreeMap 没有任何类型参数,因为我们知道我们只想处理Integers。
【讨论】:
TreeMap的功能的某些方面,或者让它实现另一个接口。在不了解 OP 的困境的情况下,您不能认为这是毫无意义的。
您不需要扩展或强制转换任何内容。 Use generics:
Map<Integer, Integer> foo = new TreeMap<Integer, Integer>();
...你就完成了。
【讨论】:
您可能要考虑的是像这样实现 Map 接口:
class MyIntegerMap implements Map<Integer,Integer>
{
private TreeMap<Integer,Integer> internalTreeMap;
...
public Integer put(Integer key, Integer value)
{
interalTreeMap.put(key,value);
}
}
这样做是允许您利用已经定义的 TreeMap 函数(避免手动滚动时的所有性能问题),并且允许您限制子类的有效输入类型。
【讨论】: