So invertieren Sie ein Array von int/String in Java
In diesem Tutorial sehen wir uns an, wie man die Elemente eines Arrays in Java umkehrt.
Das Umkehren eines Arrays mag sehr einfach erscheinen! Es sieht so aus, weil Sie nur eine Tabelle der gleichen Größe erstellen, die ursprüngliche Tabelle von Anfang bis Ende durchgehen und die neue Tabelle ausfüllen müssen, und das war's! Sie hatten ein Array, dessen Elemente in umgekehrter Reihenfolge des ursprünglichen Arrays sind, aber das Problem ist, dass Sie hier ein zusätzliches Array verwendet haben, das viel Platz einnimmt, wenn es sehr groß ist und eine sehr große O(n)-Komplexität aufweist. Stellen Sie sich vor, Ihr Board enthält 1 Million Elemente und Sie haben nicht genug Platz. Die Frage ist, können wir das Bild umkehren, ohne auf eine zusätzliche Tabelle zurückzugreifen, die viel Platz einnimmt. Der Schlüssel zur Lösung besteht darin, zu verstehen, was Sie benötigen, um das Array zu invertieren, ohne einen temporären Puffer zu verwenden, aber Sie können eine Variable verwenden, um Werte zu speichern.
Sie können auch direkt Open-Source-Bibliotheken oder Methoden der java.util.Arrays oder java.util.Collections.
Zurück zur manuellen Methode des Austauschs von Elementen, bis Sie den Mittelpunkt, indem der aktuelle Wert jedes Mal in der temporären Variablen gespeichert wird, um ein Überschreiben wie folgt zu vermeiden:
Das Umkehren eines Arrays mag sehr einfach erscheinen! Es sieht so aus, weil Sie nur eine Tabelle der gleichen Größe erstellen, die ursprüngliche Tabelle von Anfang bis Ende durchgehen und die neue Tabelle ausfüllen müssen, und das war's! Sie hatten ein Array, dessen Elemente in umgekehrter Reihenfolge des ursprünglichen Arrays sind, aber das Problem ist, dass Sie hier ein zusätzliches Array verwendet haben, das viel Platz einnimmt, wenn es sehr groß ist und eine sehr große O(n)-Komplexität aufweist. Stellen Sie sich vor, Ihr Board enthält 1 Million Elemente und Sie haben nicht genug Platz. Die Frage ist, können wir das Bild umkehren, ohne auf eine zusätzliche Tabelle zurückzugreifen, die viel Platz einnimmt. Der Schlüssel zur Lösung besteht darin, zu verstehen, was Sie benötigen, um das Array zu invertieren, ohne einen temporären Puffer zu verwenden, aber Sie können eine Variable verwenden, um Werte zu speichern.
Sie können auch direkt Open-Source-Bibliotheken oder Methoden der java.util.Arrays oder java.util.Collections.
Zurück zur manuellen Methode des Austauschs von Elementen, bis Sie den Mittelpunkt, indem der aktuelle Wert jedes Mal in der temporären Variablen gespeichert wird, um ein Überschreiben wie folgt zu vermeiden:
public class reverse_Array {Das Kompilieren und Ausführen dieses Codes führt zu folgendem Ergebnis:
public static void main(String[] args) {
int[] array ={1, 2, 3, 4};
//Ganzzahlen von array
for(int i = 0; i < array.length; i++)
{
System.out.println(array[i]);
}
//invert Array-Elemente
for(int i = 0; i < array.length / 2; i++)
{
int temp = array[i];
array[i] = array[array.length - i - 1];
array[array.length - i - 1] = temp;
}
//Ganzzahlen des invertierten Arrays anzeigen
System.out.println("invertiertes Array");
for(int i = 0; i < array.length; i++)
{
System.out.println(array[i]);
}
}
}
1
2
3
4
array
4
3
2
1
pre>Warum hören wir in der Mitte auf? Denn wenn wir die Mitte erreicht haben, haben wir gerade alle Werte invertiert, und wenn Sie bis zum Ende des Arrays fortfahren, invertieren Sie jedes Element zweimal, dann ist das Ergebnis dasselbe.Umkehren Sie ein Array in Java mit der Methode ArraysUtils.reverse()
Unter Verwendung der Java-Bibliothek von Commons lang enthält die java.lang-API Methoden wie zum Bearbeiten von Zeichenfolgen, numerische Methoden... Klicken Sie hier, um download java.lang und importieren Sie es in Ihr Projekt.
Sie können die Methode einfach verwenden ArrayUtils.reverse(int[] array)import java.util.Arrays;Hier ist, was dieser Code als Ausgabe gibt:
import org.apache.commons.lang3.ArrayUtils;
public class reverse_array_strings {
public static void main(String[] args) {
String[] string_array ={"a", "b", "c"};
//display array strings
for(int i = 0; i < string_array.length; i++)
{
System.out.println(string_array[i]);
}
//invert array
ArrayUtils.reverse(string_array);
//die Zeichenfolgen des invertierten Arrays anzeigen
System.out.println("invertiertes Array");
for(int i = 0; i < string_array.length; i++)
{
System.out.println(string_array[i]);
}
}
}aMeistens Es ist schneller und sicherer, eine Bibliothek einfach zu verwenden, da sie Sie vor Fehlern bewahrt und von ihren Editoren getestet wurde.
b
c
array
c
b
averwenden die Methode Collections.reverse()
Diese Methode funktioniert nur für java object collections, also müssen wir unser Array in java.util.List mit der Methode Arrays.asList(), dann rufen Sie die Methode Collections.reverse() und schließlich das List-Objekt mit der Methode toArray().import java.util.Arrays;Ergebnis:
import java.util.Collections;
import java.util.List;
public class reverse_array_list {
public static void main(String[] args) {
Object[] string_objects ={"abc", 12, 54, 'c', 99};
//display array strings
for(int i = 0; i < string_objects.length; i++)
{
System.out.println(string_objects[i]);
}
//Konvertieren des Arrays in eine List
Liste< Objekt> list = Arrays.asList(string_objects);
//Objekte in array
Collections.reverse(list);
//Holen Sie sich das Array aus der Liste
string_objects = list.toArray();
//die Zeichenfolgen des invertierten Arrays anzeigen
System.out.println("invertiertes Array von Objekten");
for(int i = 0; i < string_objects.length; i++)
{
System.out.println(string_objects[i]);
}
}
}abc
12
54
c
99
array invertierter Objekte
99
c
54
12
abc
pre>Referenzen:
Stackoverflow: Wie kehre ich ein int-Array in Java um?
Commons lang: Java.lang API
Wie kehre ich das Array in Java um?