有沒有誰知道如何將地圖轉換到一個列表轉換一個映射到列表
我發現這裏是這樣的:
List<Value> list = new ArrayList<Value>(map.values());
但是這是要存儲的僅僅是價值該地圖列表
我想要做的是:關鍵&的值複製到列表
那麼,你知道如何實現這一目標?
有沒有誰知道如何將地圖轉換到一個列表轉換一個映射到列表
我發現這裏是這樣的:
List<Value> list = new ArrayList<Value>(map.values());
但是這是要存儲的僅僅是價值該地圖列表
我想要做的是:關鍵&的值複製到列表
那麼,你知道如何實現這一目標?
這會給你的地圖項的列表:
List<Map.Entry<Key, Value>> list =
new ArrayList<Map.Entry<Key, Value>>(map.entrySet());
供參考,條目有getKey()
和getValue()
方法。
嘗試存儲map
的Map.Entry
S:
new ArrayList<Entry<Key, Value>>(map.entrySet());
例子:
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("Hello", 0);
map.put("World!", 1);
ArrayList<Entry<String, Integer>> list =
new ArrayList<Entry<String, Integer>>(map.entrySet());
System.out.println(list.get(0).getKey() + " -> " + list.get(0).getValue());
}
@Bohemian和@dacwe都是對的。另外我會說:在大多數情況下,您不必創建自己的列表。只需使用map.entrySet()
。它返回Set,但Set只是一個允許遍歷其元素的Collection。在95%的案例中迭代已經足夠。你可以做
的方法之一是將像所有的按鍵創建列表:
List list = new ArrayList(map.keySet());
然後加入像所有的值:
list.addAll(map.values);
然後可能你已經與索引訪問例如: 如果地圖大小爲10,則知道列表中有20個元素。 所以你必須編寫一個邏輯來訪問列表中的鍵值,並正確計算索引,例如:size/2。 我不確定這是否有助於您的要求。
地圖和列表是不同的數據結構,你想如何將地圖鍵和值組合到列表中? – beny23
您能否詳細說明「將密鑰和值複製到列表中」的含義? – aioobe
我知道,但我必須這樣做 –