3 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊
使用Java 8 Streams API。
List<Value> values = map.values().stream().collect(Collectors.toList());

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
List<Value> list = new ArrayList<Value>(map.values());
假設(shè):
Map<Key,Value> map;

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
這里的問題是它Map有兩個(gè)值(一個(gè)鍵和一個(gè)值),而一個(gè)List只有一個(gè)值(一個(gè)元素)。
因此,可以做的最好的事情是獲得一個(gè)List鍵或值。(除非我們使用包裝器來保持鍵/值對(duì))。
說我們有一個(gè)Map:
Map<String, String> m = new HashMap<String, String>();
m.put("Hello", "World");
m.put("Apple", "3.14");
m.put("Another", "Element");
作為a的鍵List可以通過ArrayList從方法Set返回的新建來獲得Map.keySet:
List<String> list = new ArrayList<String>(m.keySet());
而作為該值List能夠獲得創(chuàng)建新的ArrayList從Collection由返回的Map.values方法:
List<String> list = new ArrayList<String>(m.values());
獲取List密鑰的結(jié)果:
蘋果
另一個(gè)
你好
獲取List值的結(jié)果:
3.14
元件
世界
添加回答
舉報(bào)