-2
我有以下通過Java 8將映射轉換爲列表的方式,但我想用方法引用代替lambda,請告知如何轉換下面的程序以利用Java的8通過Java中的方法引用將映射轉換爲列表8
下面的方法引用功能是我的程序
Map<Integer, String> map = new HashMap<>();
map.put(10, "apple");
map.put(20, "orange");
map.put(30, "banana");
map.put(40, "watermelon");
map.put(50, "dragonfruit");
System.out.println("\n1. Export Map Key to List...");
List<Integer> result = map.entrySet()
.stream()
.map(x -> x.getKey())
.collect(Collectors.toList());
System.out.println(result);
你看過[地圖文檔](https://docs.oracle.com/javase/7/docs/api/java/util/Map.html)嗎?你可以使用'Map#keySet'方法,它返回一個'Set',但這不應該是一個問題。 – Shirkam
當你只對按鍵感興趣時,使用'.entrySet()'沒有任何意義。只需從一開始就使用'keySet()',就可以完全避免從'.map(x - > x.getKey())'步驟。另一方面,你根本不需要流操作。如果你確實需要'List'快照而不是'keySet()'視圖,那麼你可以簡單地使用'List result = new ArrayList <>(map.entrySet());'。 –
Holger