In Java erfordern Map-Schlüssel Referenzgleichheit, die nicht erreicht werden kann mit primitiven Typen wie int[]. Wenn Sie mit int[]-Arrays arbeiten und diese als Schlüssel in einer Map verwenden möchten, müssen Sie diese in einen geeigneten Objekttyp konvertieren. Lassen Sie uns verschiedene Optionen für diese Konvertierung untersuchen.
Java 8 hat eine prägnante Methode zum Konvertieren von int[] in Integer[ eingeführt ] mit Stream-API:
int[] data = {1,2,3,4,5,6,7,8,9,10};
Integer[] primitiveToBoxed = Arrays
.stream(data)
.boxed()
.toArray(Integer[]::new);
Ein ähnlicher Ansatz mit IntStream:
Integer[] primitiveToBoxed = IntStream
.of(data)
.boxed()
.toArray(Integer[]::new);
Während Integer[] als Schlüssel dienen kann, ist es möglicherweise aus folgenden Gründen nicht ideal:
Für eine bessere Leistung und Schlüsseleindeutigkeit sollten Sie Folgendes verwenden:
Denken Sie daran, dass der beste Ansatz von der Größe des Datensatzes und den Leistungsanforderungen abhängt. Durch die Auswahl der geeigneten Technik können Sie die Häufigkeit von int[]-Kombinationen in Ihrem Datensatz effizient verfolgen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3