リストを変換するための Java 8 ソリューション
Java 8 では、ストリーム操作を使用してオブジェクトのリストをマップに効率的に変換できます。 Choice オブジェクトのリストを Map
従来の Java 7 アプローチ
Java 7 では、通常、for-each ループを使用し、手動でマップを構築します:
private Map<String, Choice> nameMap(List<Choice> choices) { final Map<String, Choice> hashMap = new HashMap<>(); for (final Choice choice : choices) { hashMap.put(choice.getName(), choice); } return hashMap; }
Java 8 ストリームアプローチ
Java 8 ストリームは、このタスクを達成するためのより簡潔で表現力豊かな方法を提供します。
Map<String, Choice> result = choices.stream().collect(Collectors.toMap(Choice::getName, Function.identity()));
コードの詳細
Collectors.toMap() は、要素をマップに蓄積するコレクターです。これは 2 つの引数を取ります:
Collectors.toMap() コレクターでは、各名前フィールドを結果のマップ結果内の対応する Choice オブジェクトに効果的にマップします。このアプローチにより、マッピング プロセスが簡素化され、手動によるループの繰り返しやマップの構築が不要になります。
以上がJava 8 でリストをマップに効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。