Heim >Java >javaLernprogramm >Wie konvertiert man eine ArrayList von Ganzzahlen effizient in ein primitives int-Array in Java?

Wie konvertiert man eine ArrayList von Ganzzahlen effizient in ein primitives int-Array in Java?

Susan Sarandon
Susan SarandonOriginal
2024-12-11 16:44:121021Durchsuche

How to Efficiently Convert an ArrayList of Integers to a Primitive int Array in Java?

ArrayList von Ganzzahlen in ein primitives int-Array konvertieren

In Java gibt es mehrere Ansätze, eine ArrayList, die Integer-Objekte enthält, in ein primitives int-Array umzuwandeln []-Array.

Eine Methode, wie im bereitgestellten Code-Snippet versucht, ist die Verwendung von toArray()-Methode. Dies führt jedoch aufgrund inkompatibler Array-Typen zu einem Fehler bei der Kompilierung. Um dieses Problem zu beheben, geben Sie den Typ des zurückzugebenden Arrays an, wie unten gezeigt:

int[] n = (int[])x.toArray(new int[x.size()]);

Ein alternativer Ansatz, der besonders bei Java 8 nützlich ist, ist die Nutzung der Stream-API:

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

Diese Methode konvertiert jedes Element in der Liste in seinen entsprechenden int-Wert und ergibt das gewünschte Array.

Sie können auch die intValue-Methode verwenden, um jedes Element explizit zu konvertieren Ganzzahlobjekt:

int[] arr = list.stream().mapToInt(Integer::intValue).toArray();

Um potenzielle Nullreferenzen zu verarbeiten, fügen Sie der Stream-Pipeline einen Filter hinzu:

int[] arr = list.stream().filter(Objects::nonNull).mapToInt(i -> i).toArray();

Mit diesen Techniken können Sie eine ArrayList of Integers effizient in ein Grundelement konvertieren int-Array in Java.

Das obige ist der detaillierte Inhalt vonWie konvertiert man eine ArrayList von Ganzzahlen effizient in ein primitives int-Array in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn