-2
マップをJava 8でリストに変換するには以下の方法がありますが、ラムダの代わりにメソッド参照を使用したい場合は、以下のプログラムをどのように変換するかをアドバイスしてくださいJavaの8以下マップをJava 8のメソッド参照でリストに変換する
のメソッド参照機能は、あなたがここにmap(x -> x.getKey())
を呼んでいる何を私のプログラム
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);
[Map docs](https://docs.oracle.com/javase/7/docs/api/java/util/Map.html)で調べましたか?あなたは 'Map#keySet'メソッドを使うことができ、' Set'を返しますが、それは問題ではありません。 – Shirkam
最初の場所にあるキーだけに興味があるときは '.entrySet()'を使う意味がありません。最初から 'keySet()'を使うだけで、 '.map(x - > x.getKey())'ステップからあなたを救うことができます。一方、ストリーム操作はまったく必要ありません。 'keySet()'ビューの代わりに本当に 'List'スナップショットが必要な場合は' List result = new ArrayList <>(map.entrySet()); 'を使うだけです。 –
Holger