マップ キーの int[] を Integer[] に変換する方法
Java でコレクションとマップを操作する場合、次のことが重要です。プリミティブ データ型の制限を認識しています。整数の配列をキーとして Map に保存する必要がある場合など、特定の状況では、Map キーはオブジェクトである必要があるため、プリミティブ int[] 配列を直接使用することはできません。ここで、int[] から Integer[] への変換が便利です。
あなたの特定のケースでは、int[] 配列の大規模なデータセットがあり、Map
Java 8 (一行)
Java 8 では、ストリームを使用して int[] を Integer[] に変換する簡単な方法が提供されています。
<code class="java">int[] data = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // To boxed array Integer[] boxedData = Arrays.stream(data).boxed().toArray(Integer[]::new);</code>
コレクターの使用
あるいは、コレクターを使用して int[] を List
<code class="java">int[] data = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // To boxed list List<Integer> boxedList = Arrays.stream(data).boxed().collect(Collectors.toList()); // To boxed array Integer[] boxedData = boxedList.toArray(new Integer[boxedList.size()]);</code>
注:
マップ キーとして使用するために int[] を Integer[] に変換することは可能ですが、配列をキーとして使用する場合の欠点。
ほとんどの場合、配列ではなくカスタム オブジェクトまたはラッパー クラスをマップ キーとして使用することをお勧めします。
以上がJava でマップ キーの `int[]` を `Integer[]` に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。