ホームページ >Java >&#&チュートリアル >Java でリストを int[] に効率的に変換するにはどうすればよいですか?

Java でリストを int[] に効率的に変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-17 12:55:25607ブラウズ

How Can I Efficiently Convert a List to an int[] in Java?

変換リスト Java の int[] へ: Java 8 Streams を使用したソリューション

Java プログラマは、List を変換する必要に遭遇することがよくあります。 int[] 配列に変換します。この変換にはループを使用できますが、効率が悪く、エラーが発生しやすくなります。幸いなことに、Java 8 ストリームは、より簡潔で洗練されたソリューションを提供します。

1. mapToInt()

ストリームの使用には、ストリームの各要素をプリミティブ int 値に変換できる、mapToInt() メソッドが用意されています。 List を変換するにはMapToInt() を使用して int[] に変換するには、次の手順に従います。

import java.util.List;

class ListToIntArrayExample {

    public static void main(String[] args) {
        List<Integer> list = List.of(1, 2, 3, 4, 5);

        // Convert the list to an int[] using mapToInt()
        int[] intArray = list.stream()
                              .mapToInt(Integer::intValue)
                              .toArray();

        // Print the converted int[]
        for (int i : intArray) {
            System.out.println(i);
        }
    }
}

この例では、リストで stream() メソッドを使用して整数のストリームを作成します。次に、単純に各要素の整数値を返すラムダ式を使用して、mapToInt() メソッドを適用します。最後に、toArray() を使用してストリームを int[].

2 に変換します。アンボックス化の使用

コンパイラは、mapToInt() のラムダの結果が int 型でなければならないことを認識しているため、int への明示的なキャストを省略することでラムダを簡素化できます:

...
int[] intArray = list.stream()
                      .mapToInt(i -> i)
                      .toArray();
...

3.ジェネリック型の推論

コンパイラはストリームのジェネリック型を推論できるため、ラムダの Integer 型を省略できます。

...
int[] intArray = list.stream()
                      .mapToInt(i -> i)
                      .toArray();
...

これらのメソッドは効率的で簡単です。 List を変換する方法Java の int[] に変換します。

以上がJava でリストを int[] に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。