Gegeven een array, is het de taak om de gegeven array in Java om te keren.
Voorbeelden:
Input : 1, 2, 3, 4, 5 Output :5, 4, 3, 2, 1 Input : 10, 20, 30, 40 Output : 40, 30, 20, 10>
Raadpleeg Array-gegevensstructuur voor meer informatie over de basisbeginselen van Array.
Benaderingen
Er zijn talloze manieren om een array in Java om te keren. Dit zijn:
- Temp-array gebruiken
- Wisselen gebruiken
- Met behulp van de Collections.reverse()-methode
- Met behulp van de StringBuilder.append()-methode
1. Temp-array gebruiken
De eerste methode is als volgt:
- Voer de grootte van de array en de elementen van de array in.
- Beschouw een omgekeerde functie waaraan de parameters moeten worden doorgegeven: de array (zeg arr) en de grootte van de array (zeg n).
- Binnen de functie wordt een nieuwe array (met de arraygrootte van de eerste array, arr) geïnitialiseerd. De array arr[] wordt herhaald vanaf het eerste element, en elk element van array arr[] wordt vanaf de achterkant in de nieuwe array geplaatst, d.w.z. de nieuwe array wordt herhaald vanaf het laatste element.
- Op deze manier worden alle elementen van de array arr[] omgekeerd in de nieuwe array geplaatst.
- Verder kunnen we vanaf het begin de nieuwe array doorlopen en de elementen van de array afdrukken.
Java
int naar string
// Basic Java program that reverses an array> > 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 b[j - 1] = a[i]; j = j - 1; } // printing the reversed array System.out.println('Reversed array is:
'); for (int k = 0; k System.out.println(b[k]); } } public static void main(String[] args) { int [] arr = {10, 20, 30, 40, 50}; reverse(arr, arr.length); } }> |
>
>Uitvoer
Reversed array is: 50 40 30 20 10>
2. Wisselen gebruiken
De tweede methode gebruikt een soortgelijke code voor het invoeren en afdrukken van de array. We maken echter geen nieuwe array zoals de bovenstaande methode. In plaats daarvan keren we de oorspronkelijke array zelf om. Bij deze methode wisselen we de elementen van de array om. Het eerste element wordt verwisseld met het laatste element. Het tweede element wordt verwisseld met het voorlaatste element, enzovoort.
Beschouw bijvoorbeeld array [1, 2, 3, …., n-2, n-1, n]. We wisselen 1 met n, 2 met n-1, 3 met n-2 en verder.
Java
// Java Program that reverses array> // in less number of swaps> > public> class> arrayReverse {> > >// function swaps the array's first element with last> >// element, second element with last second element and> >// so on> >static> void> reverse(>int> a[],>int> n)> >{> >int> i, k, t;> >for> (i =>0>; i 2; i++) { t = a[i]; a[i] = a[n - i - 1]; a[n - i - 1] = t; } // printing the reversed array System.out.println('Reversed array is:
'); for (k = 0; k System.out.println(a[k]); } } public static void main(String[] args) { int[] arr = { 10, 20, 30, 40, 50 }; reverse(arr, arr.length); } }> |
tekenreeks converteren naar int in Java
>
>Uitvoer
Reversed array is: 50 40 30 20 10>
3. Gebruik de Collections.reverse()-methode
De derde methode is om de functie te gebruiken java.util.Collections.reverse(Lijstlijst) methode. Deze methode keert de elementen in de opgegeven lijst om. Daarom converteren we de array eerst naar een lijst met behulp van java.util.Arrays.asList(array) en dan de lijst omkeren.
Java
// Reversing an array using Java collections> import> java.util.*;> > public> class> reversingArray {> > >// function reverses the elements of the array> >static> void> reverse(Integer a[])> >{> >Collections.reverse(Arrays.asList(a));> >System.out.println(Arrays.asList(a));> >}> > >public> static> void> main(String[] args)> >{> >Integer [] arr = {>10>,>20>,>30>,>40>,>50>};> >reverse(arr);> >}> }> |
>
>
Java while-lusUitvoer
[50, 40, 30, 20, 10]>
4. Gebruik de methode StringBuilder.append().
Als een vierde methode Als u met een String-array werkt, kunnen we een StringBuilder gebruiken en aan elk array-element een for-lus toevoegen die afneemt vanaf de lengte van de array, de StringBuilder naar een string converteren en weer in een array splitsen.
Java
// Java Program for Reversing an array using StringBuilder> > import> java.util.Arrays;> > class> GFG {> >public> static> void> main (String[] args) {> >String[] arr = {>'Hello'>,>'World'>};> >StringBuilder reversed =>new> StringBuilder();> > >for> (>int> i = arr.length; i>>0>; i--) {> >reversed.append(arr[i ->1>]).append(>' '>);> >};> > >String[] reversedArray = reversed.toString().split(>' '>);> > >System.out.println(Arrays.toString(reversedArray));> >}> }> |
staan
>
>Uitvoer
[World, Hello]>