Givet en array är uppgiften att vända den givna arrayen i Java.
Exempel:
Input : 1, 2, 3, 4, 5 Output :5, 4, 3, 2, 1 Input : 10, 20, 30, 40 Output : 40, 30, 20, 10>
För att veta mer om grunderna i Array, se Array Data Structure.
Närmar sig
Det finns många sätt att vända en array i Java. Dessa är:
Exempel på json-format
- Använder Temp array
- Använder swapping
- Använder metoden Collections.reverse().
- Använder metoden StringBuilder.append().
1. Använda Temp array
De första metoden enligt följande:
- Ta in storleken på arrayen och elementen i arrayen.
- Betrakta en funktion omvänd som tar parametrarna-matrisen (säg arr) och storleken på matrisen (säg n).
- Inuti funktionen initieras en ny array (med arraystorleken för den första arrayen, arr). Arrayen arr[] itereras från det första elementet, och varje element i array arr[] placeras i den nya arrayen bakifrån, d.v.s. den nya arrayen itereras från sitt sista element.
- På detta sätt placeras alla element i arrayen arr[] omvänt i den nya arrayen.
- Vidare kan vi iterera genom den nya arrayen från början och skriva ut elementen i arrayen.
Java
// 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); } }> |
>
>Produktion
Reversed array is: 50 40 30 20 10>
2. Använda växling
De andra metoden använder en liknande kod för inmatning och utskrift av arrayen. Vi skapar dock inte en ny array som metoden ovan. Istället vänder vi själva den ursprungliga arrayen. I den här metoden byter vi elementen i arrayen. Det första elementet byts ut med det sista elementet. Det andra elementet byts ut med det sista elementet och så vidare.
Tänk till exempel array [1, 2, 3, …., n-2, n-1, n]. Vi byter 1 mot n, 2 mot n-1, 3 mot n-2 och vidare.
Java
hur man kör ett skript
// 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); } }> |
>
>
inteProduktion
Reversed array is: 50 40 30 20 10>
3. Använd metoden Collections.reverse().
De tredje metoden är att använda funktionen java.util.Collections.reverse(List lista) metod. Denna metod vänder på elementen i den angivna listan. Därför konverterar vi arrayen till en lista först genom att använda java.util.Arrays.asList(array) och vänd sedan listan.
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);> >}> }> |
>
>Produktion
[50, 40, 30, 20, 10]>
4. Använd metoden StringBuilder.append().
Som en fjärde metoden , Om du arbetar med en String-array kan vi använda en StringBuilder och lägga till varje array-element med en for-loop som minskar från arrayens längd, konvertera StringBuilder till en sträng och dela tillbaka till en array.
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));> >}> }> |
sammanfogningar och typer av sammanfogningar
>
>Produktion
[World, Hello]>