问题很简单 - 我必须实现JTree TreeModel接口,它要求每个对象都有一个数字。该树将代表保存在hashmap/hashtable中的数据。该hashmap中的键是客户端对象,值是资源(或ArrayLists)的数组,因此编号只是顶级问题。在Hashmap/Hashtable中键数字的最简单方法是什么?Java HashMap/Hashtable和编号
1
A
回答
1
public class IndexedMap<V> extends HashMap<Long, V> {
private AtomicLong index = new AtomicLong();
public void put(V value) {
put(index.getAndIncrement(), value);
}
}
IndexedMap<Object> objects = new IndexedMap<Object>();
objects.put("foo");
objects.put("bar");
// ...
但你为什么不只是使用一个ArrayList
?它通过索引来保存对象,正是你所需要的。
0
听起来像用户对象键需要订购 - 他们的“数字”将从他们在排序中的位置派生。
钥匙是否可比?如果是这样,也许使用一个TreeMap。如果不是,我想插入顺序是你最好的选择(LinkedHashMap)
相关问题
- 1. Java Array列和行编号
- 2. 确定最高和最低编号(Java)
- 3. Java JTextArea动态列和行编号
- 4. Java:新的继承和对象编号
- 5. 顺序编号和子编号
- 6. JAVA - 用引号和逗号
- 7. SQL DECIMAL到Java编号
- 8. Java素数编号方法
- 9. Java - 查找最小编号
- 10. 随机唯一编号java
- 11. java编号对算法
- 12. 从计划中编号和编号或列表和编号构建列表
- 13. javascript和div编号
- 14. 如何从最小编号到最大编号 - Java?
- 15. 编译器阶段的符号表和行号编号
- 16. 删除括号[]和逗号的Java
- 17. 日志()行为和编号#符号
- 18. Apache poi项目符号和编号
- 19. CKEditor的符号和编号格式化
- 20. Silverlight中的项目符号和编号
- 21. 编译Java和JAR
- 22. 使用信号量和共享变量进行Java编程
- 23. 查找编号并添加和操作字符(java,knime)
- 24. 如何在JAVA Swing中制作滑块和LCD编号?
- 25. 递归中的Java(减法和打印编号)
- 26. Java和小数点E号
- 27. 行动画和编号
- 28. LCM和GCD 3编号 - Python
- 29. URL - PHP变量和编号
- 30. 计数行和编号