Java では、マップ キーには参照の等価性が必要ですが、これは達成できませんint[] のようなプリミティブ型を使用します。 int[] 配列を操作し、マップ内のキーとして使用する必要がある場合は、それらを適切なオブジェクト タイプに変換する必要があります。この変換のさまざまなオプションを調べてみましょう。
Java 8 では、int[] を Integer[ に変換するための簡潔なメソッドが導入されました。 ] ストリーム API を使用:
int[] data = {1,2,3,4,5,6,7,8,9,10};
Integer[] primitiveToBoxed = Arrays
.stream(data)
.boxed()
.toArray(Integer[]::new);
IntStream を使用した同様のアプローチ:
Integer[] primitiveToBoxed = IntStream
.of(data)
.boxed()
.toArray(Integer[]::new);
Integer[] はキーとして機能しますが、次の理由により理想的ではない可能性があります。
パフォーマンスとキーの一意性を向上させるには、次の使用を検討してください:
最適なアプローチはデータセットのサイズとパフォーマンス要件によって異なることに注意してください。適切な手法を選択すると、データセット内の int[] の組み合わせの頻度を効率的に追跡できます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3