2011-12-22 44 views
1

將數組元素轉換爲新字典中的鍵的最佳方式是什麼?將數組元素轉換爲新字典中的鍵的最佳方式

+1

要在Java中創建一個Dictionary(或者可能是HashMap),您將需要鍵和值。當您使用關聯的鍵將值放入Map中時,會創建Map鍵。你能否詳細說明你真正需要做什麼? – sudocode 2011-12-22 16:53:10

回答

3

這是沒有太多去,但讓我們看到:

假設你有一個int[10],你想將它們存儲在HashMap(字典不使用太多這些天)。你可以這樣做:

Map<Integer, Integer> dict = new HashMap<Integer, Integer>(); 
for(int i = 0; i < array.length; i++) { 
    dict.put(i,array[i]); // autoboxing takes care of primitives 
} 

如果你正在尋找的陣列在詞典中的按鍵在使用的實際值,那麼你要問自己:「哪裏是我從哪裏來字典中的值?」

例如,如果你想要的值是索引,你可以只扭轉上述

dict.put(array[i],i); 

也許你有它的一些價值觀另一個數組。

int[] intArray = ... 
String[] strArray = ... 
Map<Integer, String> dict = new HashMap<Integer, String>(); 
for(int i = 0; i < array.length; i++) { 
    dict.put(intArray[i], strArray[i]); // autoboxing takes care of primitives 
} 

簡而言之,你有一個put方法。第一個參數將成爲關鍵,第二個參數將成爲價值。只要你遍歷數組,你將擁有你的密鑰;那麼這只是一個決定哪些值進入的問題。

+1

OP希望數組元素是鍵,而不是數值 – soulcheck 2011-12-22 16:58:42

+0

@soulcheck它真的沒有太多的信息 - 但我在希望涵蓋的所有基礎中增加了更多信息。 – corsiKa 2011-12-22 18:34:33

0
Integer[] keys = {1, 2, 3}; 
HashMap<Integer, Object> map = new HashMap<Integer, Object>(); 
Collections.addAll(map.keySet(), keys); 
相關問題