Heim > Java > javaLernprogramm > Hauptteil

Welche Möglichkeiten gibt es, ein Array in Java umzukehren?

WBOY
Freigeben: 2023-05-23 21:58:34
nach vorne
1039 Leute haben es durchsucht

1. Frage

Eingabe: 1, 2, 3, 4, 5 Ausgabe: 5, 4, 3, 2, 1

Eingabe: 10, 20, 30, 40 Ausgabe: 40, 30, 20, 10

2. Methode

Methode 1: Verwenden Sie ein temporäres Array

  1. , um die Größe des Arrays und die Elemente des Arrays einzugeben.

  2. Stellen Sie sich eine umgekehrte Funktion vor, die Parameter akzeptiert – ein Array (sagen wir arr) und die Größe des Arrays (sagen wir n)

  3. Innerhalb der Funktion wird ein neues Array (mit der Array-Größe des ersten Arrays, arr ) wird initialisiert.

  4. Array arr[] beginnt mit der Iteration ab dem ersten Element, und jedes Element des Arrays arr[] wird von hinten in ein neues Array eingefügt, d. h. das neue Array beginnt mit der Iteration ab dem letzten Element.

  5. Auf diese Weise werden alle Elemente des Arrays arr[] in umgekehrter Reihenfolge im neuen Array platziert.

public class reverseArray {
    // function that reverses array and stores it 
    // in another array
    static void reverse(int a[], int n)
    {
        int[] b = new int[n];
        int j = n;
        for (int i = 0; i < n; i++) {
            b[j - 1] = a[i];
            j = j - 1;
        }
        // printing the reversed array
        System.out.println("Reversed array is: \n");
        for (int k = 0; k < n; k++) {
            System.out.println(b[k]);
        }
    }
    public static void main(String[] args)
    {
        int [] arr = {10, 20, 30, 40, 50};
        reverse(arr, arr.length);
    }
}
Nach dem Login kopieren

Das Ergebnis ist wie folgt:

Reversed array is: 
50
40
30
20
10
Nach dem Login kopieren
Nach dem Login kopieren

Methode 2: Verwenden Sie swap

, um die Elemente des Arrays auszutauschen. Das erste Element wird mit dem letzten Element vertauscht. Das zweite Element wird mit dem letzten Element vertauscht und so weiter. Angenommen, Sie haben ein Array mit den Elementen [1, 2, 3, ..., n-2, n-1, n]. Tauschen Sie 1 und n, 2 und n-1, 3 und n-2 usw. nacheinander aus.

public class Test {
    public static void main(String[] args) {
        int [] arr = {10, 20, 30, 40, 50};
        reverse(arr,arr.length);
    }
    static void reverse(int[] a,int n) {
        int i, k, t;
        for (i = 0; i < n / 2; i++) {
            t = a[i];
            a[i] = a[n - i - 1];
            a[n - i - 1] = t;
        }
        System.out.println("Reversed array is: \n");
        for (k = 0; k < n; k++) {
            System.out.println(a[k]);
        }
    }
}
Nach dem Login kopieren

Das Ergebnis ist wie folgt:

Reversed array is: 
50
40
30
20
10
Nach dem Login kopieren
Nach dem Login kopieren

Methode 3: Methode Collections.reverse() verwenden

Die Methode java.util.Collections.reverse(List list) kehrt eine gegebene Liste um. Kehren Sie ein Array um, indem Sie es in eine Liste konvertieren und dann Collections.reverse(list) aufrufen.

public class Test {
    public static void main(String[] args) {
        Integer [] arr = {10, 20, 30, 40, 50};
        reverse(arr);
    }
    static void reverse(Integer[] a) {
        Collections.reverse(Arrays.asList(a));
        System.out.println(Arrays.asList(a));
    }
}
Nach dem Login kopieren

Die Ergebnisse sind wie folgt:

[50, 40, 30, 20, 10]
Nach dem Login kopieren

Methode 4: Verwenden Sie die StringBuilder.append()-Methode

Wenn Sie ein String-Array verwenden, können wir StringBuilder verwenden und an jedes Array-Element eine for-Schleife anhängen, die von der Länge dekrementiert des Arrays, konvertieren Sie den StringBuilder in einen String und teilen Sie ihn dann wieder in ein Array auf.

public class Test {
    public static void main(String[] args) {
        String[] arr = {"Hello", "World"};
        StringBuilder reversed = new StringBuilder();
        for (int i = arr.length-1; i >= 0; i--) {
            reversed.append(arr[i]).append(" ");
        };
        String[] reversedArray = reversed.toString().split(" ");
        System.out.println(Arrays.toString(reversedArray));
    }
}
Nach dem Login kopieren

Die Ergebnisse sind wie folgt:

[World, Hello]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, ein Array in Java umzukehren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage