如何在java中存储哈希表中的多个数组列表对象 &我该如何恢复它。在java中添加Arraylist对象到哈希表中
回答
不要。使用HashMap而不是Hashtable - 它不同步。
Map<String, ArrayList<SomeObject>> myMap = new HashMap<String, ArrayList<SomeObject>>();
ArrayList<SomeObject> list = new ArrayList<SomeObject>();
list.add(someObjectInstance1);
list.add(someObjectInstance2);
myMap.put("key1", list); // stores list containing instances #1 and #2 under key "key1"
ArrayList<SomeObject> list2 = new ArrayList<SomeObject>();
list2.add(someObjectInstance3);
myMap.put("key2", list2); // stores list2 containing instance #3 under key "key2"
SomeObject obj1 = myMap.get("key1").get(0); // returns instance #1
SomeObject obj2 = myMap.get("key1").get(1); // returns instance #2
SomeObject obj3 = myMap.get("key2").get(0); // returns instance #3
所有这一切说,你可能要考虑使用Multimap从Google Collections代替:
Multimap<String, ArrayList<SomeObject>> myMap = ArrayListMultimaps.create();
myMap.put("key1", someObjectInstance1);
myMap.put("key1", someObjectInstance2);
myMap.put("key2", someObjectInstance3);
SomeObject obj1 = myMap.get("key1").get(0); // returns instance #1
SomeObject obj2 = myMap.get("key1").get(1); // returns instance #2
SomeObject obj3 = myMap.get("key2").get(0); // returns instance #2
你可以看到这个方法如何更直接的方式是。
上面的代码没有添加多个 arraylist对象在Hashtable – 2009-11-18 06:57:47
我认为这将是非常明显的如何添加第二(第3,第N)列表到地图通过查看上面的代码,但显然我错了。更新以说明两个列表。 – ChssPly76 2009-11-18 07:38:25
在那里,我恢复了我的失望,希望你感觉更好。 – 2009-11-18 07:43:11
使用每个Linklist的Hashcode作为密钥。将其中一篇文章中提到的FOR值用作Keys可能不是一个好主意。如果你不得不在别的地方添加一个新的List?你将不得不遍历整个地图找到下一个最好的关键。
- 1. 添加对象的ArrayList [哈希合并]
- 2. 如何定制的Java对象添加到哈希表
- 3. 将对象添加到ArrayList中的Java
- 4. 将对象添加到哈希表中的数组
- 5. 尝试将对象添加到PowerShell中的哈希表数组
- 6. 如何在powershell中的哈希表中添加哈希表?
- 7. Java - 在ArrayList中添加2个对象
- 8. C#中的哈希表ArrayList#
- 9. 添加到哈希表中的值
- 10. 如何将java模拟对象添加到哈希集?
- 11. 哈希表和ArrayList
- 12. 如何在java中将对象添加到ArrayList中
- 13. 如何在Java中“加入”哈希表?
- 14. Ruby:添加哈希/合并YAML对象
- 15. 未添加到ArrayList的Java对象
- 16. 添加对象到哈希表的问题
- 17. Java迭代哈希表vs ArrayList速度
- 18. 将字对象添加到ArrayList中
- 19. 添加LinkedHashMap的对象放到ArrayList中
- 20. 将图书对象添加到ArrayList中
- 21. 未添加到arraylist中的对象(asynctask)
- 22. 将子类对象添加到ArrayList中
- 23. 在java中的ArrayList中追加对象
- 24. 如何将对象添加到Java中的ArrayList中
- 25. 将对象添加到ArrayList
- 26. 将对象添加到arrayList
- 27. 将值添加到哈希红宝石中的哈希值
- 28. java:将对象添加到对象的ArrayList;得到错误
- 29. 在对象列表(ArrayList)中添加对象!
- 30. 形式的哈希表 - 在Java中的<key,哈希表>
你是指同一个密钥的多个ArrayLists?或者每个ArrayList都得到自己的密钥(如Murali的答案)? – Thilo 2009-11-18 07:39:13
-1问题很模糊,听起来像提交者从来没有打扰过看Map或Hashtable文档。 – 2009-11-18 08:29:48