我想知道是否有可能創建一個哈希表向量?如何在java中執行哈希表的數組列表?
我試圖
java.util.Hashtable<String, String>[] info = new java.util.Hashtable<String, String>();
,但還沒有任何運氣:(
感謝
我想知道是否有可能創建一個哈希表向量?如何在java中執行哈希表的數組列表?
我試圖
java.util.Hashtable<String, String>[] info = new java.util.Hashtable<String, String>();
,但還沒有任何運氣:(
感謝
我想你想
ArrayList<Hashtable<String, String>> info = new ArrayList<Hashtable<String, String>>();
你可能想:
ArrayList<Hashtable<String, String>> info =
new ArrayList<Hashtable<String, String>>();
,這在某種程度上與類型推斷和Guava這樣的庫來簡化:
ArrayList<Hashtable<String, String>> info = Lists.newArrayList();
儘量確保您使用抽象的接口使用的是儘可能的集合。
List<Map<String, String>> info= new ArrayList<Map<String, String>>();
然後你就可以添加你的哈希表
Map<String, String> infoElement= null;
for(something in someOtherThing) {
infoElement= new Hashtable<String, String>();
// add your logic
info.add(infoElement);
}
@Stephen,感謝您的更正。 – 2011-05-18 17:41:31
我仍然有問題。我在一個for循環中有這個infoElement,每次我更新infoElement所有的info元素都會採用新的infoElement值,因爲info.add方法只設置了一個指向infoElement的指針...... – Winter 2011-05-19 22:02:06
@Winter - 好吧所以你需要做的是創建爲您希望添加和更新的下一個「infoElement」創建一個新的HashTable。如果你不確定哪些包含你正在使用的集合,那麼集合中的集合可能會變得非常棘手。我在Hashes下用Hashes做了很多工作......相信我,記住你的深度真的很有趣。 – 2011-05-19 23:45:40
一個Vector
是List
和Hashtable
是Map
,所以你想要的是地圖列表。
我建議你使用ArrayList
而不是Vector
和HashMap
代替Hashtable
,分別爲(as discussed here和其他許多問題),但最重要的我建議你改變你的要求。
在大多數情況下,您需要列表地圖而不是地圖列表,如果您需要,我會使用衆多可用的自定義實現之一,首先是Guava's Multimap
。
hi, Hashtable [] info = new Hashtable [size]; 不工作:S –
Winter
2011-05-19 21:37:32
@Winter:Bah,已經忘記了Java泛型與陣列的痛苦。將刪除那一點。 – 2011-05-19 22:41:48