Kun taulukko on annettu, tehtävänä on kääntää annettu taulukko Javassa.
Esimerkkejä:
Input : 1, 2, 3, 4, 5 Output :5, 4, 3, 2, 1 Input : 10, 20, 30, 40 Output : 40, 30, 20, 10>
Jos haluat tietää Arrayn perusteista, katso Array Data Structure.
Lähestymistapoja
On olemassa lukuisia lähestymistapoja taulukon kääntämiseen Javassa. Nämä ovat:
- Temp-taulukon käyttö
- Vaihdon käyttäminen
- Collections.reverse()-menetelmän käyttäminen
- StringBuilder.append()-metodin käyttäminen
1. Temp-taulukon käyttäminen
The ensimmäinen menetelmä on seuraava:
- Syötä taulukon koko ja taulukon elementit.
- Tarkastellaan funktiota käänteistä, joka ottaa parametrit - taulukon (sano arr) ja taulukon koon (sano n).
- Funktion sisällä alustetaan uusi taulukko (ensimmäisen taulukon kokoinen arr). Taulukko arr[] iteroidaan ensimmäisestä elementistä, ja taulukon arr[] jokainen elementti sijoitetaan uuteen taulukkoon takaa, eli uusi taulukko iteroidaan viimeisestä elementistään.
- Tällä tavalla kaikki taulukon arr[] elementit sijoitetaan päinvastoin uuteen taulukkoon.
- Lisäksi voimme iteroida uuden taulukon alusta alkaen ja tulostaa taulukon elementit.
Java
java merkkijonomenetelmät
// 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); } }> |
käyttöjärjestelmän käyttötavat
>
>Lähtö
Reversed array is: 50 40 30 20 10>
2. Käytä vaihtoa
The toinen menetelmä käyttää samanlaista koodia taulukon syöttämiseen ja tulostamiseen. Emme kuitenkaan luo uutta taulukkoa, kuten yllä oleva menetelmä. Sen sijaan käännämme itse alkuperäisen taulukon. Tässä menetelmässä vaihdamme taulukon elementtejä. Ensimmäinen elementti vaihdetaan viimeiseen elementtiin. Toinen elementti vaihdetaan edelliseen paitsi yhtä elementtiin ja niin edelleen.
Tarkastellaan esimerkiksi taulukkoa [1, 2, 3, …., n-2, n-1, n]. Vaihdetaan 1 arvolla n, 2 n-1:llä, 3 n-2:lla ja edelleen.
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); } }> |
java kartat
>
>Lähtö
Reversed array is: 50 40 30 20 10>
3. Collections.reverse()-menetelmän käyttäminen
The kolmas menetelmä on käyttää toimintoa java.util.Collections.reverse(Listaluettelo) menetelmä. Tämä menetelmä kääntelee määritetyn luettelon elementit. Siksi muunnamme taulukon ensin luetteloksi käyttämällä java.util.Arrays.asList(array) ja käännä sitten luettelo.
Java
c# datetime
// 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);> >}> }> |
>
>Lähtö
[50, 40, 30, 20, 10]>
4. StringBuilder.append()-menetelmän käyttäminen
Kuten a neljäs menetelmä , Jos työskentelet String-taulukon kanssa, voimme käyttää StringBuilder-ohjelmaa ja liittää jokaiseen taulukon elementtiin for-silmukan, joka pienenee taulukon pituudesta, muuntaa StringBuilderin merkkijonoksi ja jakaa takaisin taulukoksi.
Java
java lajittelutaulukko
// 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>>> >reversed.append(arr[i ->1>]).append(>' '>);> >};> > >String[] reversedArray = reversed.toString().split(>' '>);> > >System.out.println(Arrays.toString(reversedArray));> >}> }> |
>
>Lähtö
[World, Hello]>