ホームページ >Java >&#&チュートリアル >Java リストを効率的にマップに変換するにはどうすればよいですか?
Java でリストをマップに変換する方法
Java でコレクションを操作する場合、リストをマップに変換することが一般的な要件となることがあります。 。この変換の最適なアプローチを理解すると、パフォーマンスとコードの可読性を大幅に向上させることができます。
最適な変換アプローチ
従来のアプローチ:
このアプローチには、ループを使用し、各リスト要素をマップのキーと値のペアに手動でマッピングすることが含まれます。このアプローチは簡単ですが、リストが大きい場合は非効率になる可能性があります。
Java 8 ストリーム:
Java 8 では、コレクションを操作するための強力かつ簡潔な方法を提供するストリームが導入されました。ストリームを使用すると、リストを 1 行でマップに変換できます:
Map<Integer, String> resultsMap = results.stream() .collect(Collectors.toMap(o -> (Integer) o[0], o -> (String) o[1]));
ストリームを使用する利点:
例
次のオブジェクトのリストを考えてみましょう:
List<Object[]> results = new ArrayList<>(); results.add(new Object[] {1, "Item 1"}); results.add(new Object[] {2, "Item 2"});
このリストをマップに変換するには、次のようにします。ストリームベースのアプローチを使用します:
Map<Integer, String> resultsMap = results.stream() .collect(Collectors.toMap(o -> (Integer) o[0], o -> (String) o[1]));
このコードは、整数を使用してマップを作成します。リストの値をキーとして、文字列値を値として使用します。
追加の考慮事項:
以上がJava リストを効率的にマップに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。