我想创建一个只能将整数映射到整数的类TreeMap
的扩展类。有没有更好的办法来做到这一点,而不是简单地把所有东西都铸造成Integer
?扩展TreeMap以仅使用Integer - > Integer映射?
3
A
回答
3
尝试声明类为
class MyTreeMap extends TreeMap<Integer, Integer> {
注意MyTreeMap
没有任何类型的参数,因为我们知道,我们只是想对付Integer
秒。
2
+2
呃我不认为这真的回答OP的问题。你所做的是创建一个只能使用Integers的TreeMap实例,你没有做的是创建一个只能使用Integers的特定TreeMap数据结构。 – Woot4Moo
+0
@ Woot4Moo不确定我看到了这一点,但足够公平。这感觉非常不通用的集合。 –
1
你可能要考虑的是实现了Map接口,像这样什么:
class MyIntegerMap implements Map<Integer,Integer>
{
private TreeMap<Integer,Integer> internalTreeMap;
...
public Integer put(Integer key, Integer value)
{
interalTreeMap.put(key,value);
}
}
这样做是允许你利用已定义TreeMap的功能(避免所有的问题与性能,如果你手挽),它允许您限制子类的有效输入类型。
相关问题
- 1. Treemap with <Integer,List>
- 2. 如何实例化Map <String,TreeMap <Integer,Integer>>?
- 3. Integer扩展号码
- 4. 如何整理TreeMap <String,Integer>?
- 5. 尝试使用Hashmap <Integer,Integer>
- 6. 使用来自TreeMap <Integer,ArrayList <Station>>
- 7. 扩展java Integer缓存
- 8. 如何获取并比较映射的值结果<Integer,Integer>
- 9. Java - collections List <Map <Integer,Integer >>
- 10. RavenDB Transformer无法映射到Integer Id
- 11. Java HashMap <Integer,Integer> vs int []
- 12. SNMP扩展为INTEGER而不是STRING
- 13. 如何在Scala中扩展一组Integer?
- 14. 使用java8流将地图<Integer,列表<Integer>>转换为列表<Integer>
- 15. 如何使用Collectors.toMap获取Map <Integer,Integer>?
- 16. 如何在Java 8中创建Map <Integer,Map <String,Integer >>类型的映射?
- 17. C getopt - <integer>
- 18. 该方法ceilingEntry(MyTime)未定义类型TreeMap <MyTime,Integer>
- 19. TreeMap <Integer,String>在java中返回单个值
- 20. 对对象的属性排序TreeMap <Integer,Object>
- 21. Integer i = 3 vs Integer i = new Integer(3)
- 22. JSP访问中的HashMap <HashMap <Integer,Integer>,String>
- 23. 如何初始化Map <Integer,Map <Integer,Float >>?
- 24. ArrayList <Integer> a [];有什么区别?和ArrayList <Integer> a ;?
- 25. 将元素添加到列表<Map.Entry <Integer,Integer >>
- 26. Map <String,Integer>和Map <Integer,String>排序
- 27. 列表<Integer>和List <?之间的区别super Integer>
- 28. 使用TreeMap的AbstractTableModel <Integer,Vector <Object>作为后盾如何实现insertRow()
- 29. ArrayList <Integer>使用get/remove方法
- 30. 使用List填充TableColumn CellValueFactory <Integer>
我真的不明白这一点。好的Ryan Yu以这种方式陈述了这个问题,但是这个问题并没有给出额外的理由来做这件事,而不是仅仅使用泛型,只要没有其他理由我不会创建一个子类。我会推荐马特球回答。 – cproinger
@cproinger可以有这样做的理由......如果你想改变TreeMap功能的某个方面,或者让它实现另一个接口。如果不了解更多关于OP的困境,你不能认为这是毫无意义的。 – arshajii
当然。但问题中没有。改变TreeMap功能的某些方面可能会破坏TreeMap的语义,但MyTreeMap仍然可以分配给TreeMap ...嗯,我并不是说它通常是错误的,但是从我的经验来看,更多的时候不是你在拍摄自己通过从集合类扩展(脚本没有足够的上下文来知道,但想想如果你想用hibernate来持久化对象)。 – cproinger