Java では、マップ キーは参照の等価性を必要としますが、これは達成できませんint[] のようなプリミティブ型を使用します。 int[] 配列を操作し、マップ内のキーとして使用する必要がある場合は、それらを適切なオブジェクト タイプに変換する必要があります。この変換のさまざまなオプションを見てみましょう。
Java 8 では、int[] を Integer[ に変換するための簡潔なメソッドが導入されました。 ] ストリーム API を使用する:
<code class="java">int[] data = {1,2,3,4,5,6,7,8,9,10}; Integer[] primitiveToBoxed = Arrays .stream(data) .boxed() .toArray(Integer[]::new);</code>
IntStream を使用する同様のアプローチ:
<code class="java">Integer[] primitiveToBoxed = IntStream .of(data) .boxed() .toArray(Integer[]::new);</code>
Integer[] はキーとして機能しますが、次の理由により理想的ではない可能性があります。
パフォーマンスとキーの一意性を向上させるには、次の使用を検討してください:
最良のアプローチは次のものに依存することを覚えておいてください。データセットのサイズとパフォーマンス要件。適切な手法を選択すると、データセット内の int[] の組み合わせの頻度を効率的に追跡できます。
以上がJavaでマップキーとして使用するためにint[]をInteger[]に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。