Heim >Java >javaLernprogramm >Wie kann man Arrays in Java effizient vergrößern?

Wie kann man Arrays in Java effizient vergrößern?

Susan Sarandon
Susan SarandonOriginal
2024-11-24 07:52:11490Durchsuche

How to Efficiently Enlarge Arrays in Java?

Array in Java vergrößern: Aktuelle Elemente beibehalten

Arrays haben in Java im Gegensatz zu anderen Programmiersprachen eine feste Größe. Das Hinzufügen neuer Elemente zu einem vollständigen Array erfordert eine manuelle Größenänderung oder alternative Datenstrukturen.

Größenänderung eines Arrays

Aufgrund der Unveränderlichkeit von Java-Arrays erfordert die Größenänderung das Kopieren vorhandener Elemente in ein neues Array mit der gewünschten Größe. Die Methode java.lang.System.arraycopy(...) kann diese Aufgabe erfüllen:

int[] oldArray = {1, 2, 3, 4, 5};
int[] newArray = new int[oldArray.length + 1]; // Larger array
System.arraycopy(oldArray, 0, newArray, 0, oldArray.length);

Alternative Datenstrukturen

Eine weitere Option ist die Verwendung dynamischer Daten Strukturen wie java.util.ArrayList. Im Gegensatz zu Arrays können sich ArrayLists automatisch vergrößern, wenn Elemente hinzugefügt werden:

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
// No resizing needed as the ArrayList expands dynamically

Verwenden von Arrays.copyOf(...)

Java 9 führte java.util ein .Arrays.copyOf(...)-Methoden, die die Größenänderung von Arrays vereinfachen:

int[] oldArray = {1, 2, 3, 4, 5};
int[] newArray = Arrays.copyOf(oldArray, oldArray.length + 1);

Das obige ist der detaillierte Inhalt vonWie kann man Arrays in Java effizient vergrößern?. 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