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

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

WBOY
WBOYnach vorne
2023-05-23 21:58:341022Durchsuche

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);
    }
}

Das Ergebnis ist wie folgt:

Reversed array is: 
50
40
30
20
10

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]);
        }
    }
}

Das Ergebnis ist wie folgt:

Reversed array is: 
50
40
30
20
10

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));
    }
}

Die Ergebnisse sind wie folgt:

[50, 40, 30, 20, 10]

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));
    }
}

Die Ergebnisse sind wie folgt:

[World, Hello]

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen