reverse an array java 3 methods with examples
Reversing Array je jednou z rozhodujúcich operácií v Jave. V tomto výučbe sa naučíme, ako obrátiť pole v Jave:
Programátori niekedy musia spracovať polia začínajúce od posledného prvku, v takom prípade je vždy efektívne obrátiť pole tak, aby sa prvý prvok umiestnil na poslednú pozíciu v poli a druhý prvok sa umiestnil na druhú poslednú pozíciu v poli a tak ďalej, až kým nie je posledný prvok pri prvom indexe.
=> Vyskúšajte tu Ultimate Java Training Series
Uvažujme o poli, ako je uvedené nižšie:
Po použití reverznej funkčnosti výsledné pole by malo byť ako:
Čo sa dozviete:
Tlačové pole v opačnom poradí
Prípadne, ak chceme tlačiť pole v opačnom poradí, bez toho, aby sme ho skutočne obrátili, môžeme to urobiť len tak, že poskytneme slučku for, ktorá začne tlačiť od konca poľa. Toto je dobrá voľba, pokiaľ chceme pole iba vytlačiť v opačnom poradí bez toho, aby sme s ním museli niečo spracovávať.
Nasledujúci program vytlačí pole v opačnom poradí.
import java.util.*; import java.util.stream.*; public class Main { public static void main(String() args) { Integer() intArray = {10,20,30,40,50,60,70,80,90}; //print array starting from first element System.out.println('Original Array:'); for(int i=0;i=0;i--) System.out.print(intArray(i) + ' '); } }
Výkon:
Toto je uskutočniteľná možnosť vytlačiť iba pole.
Java poskytuje rôzne metódy na skutočné obrátenie indexov prvkov v poli. Nižšie sú uvedené rôzne metódy, o ktorých sa budeme podrobne rozprávať v tomto tutoriále.
- Použitie reverznej metódy ArrayList
- Používanie tradičných for
- Pomocou reverzu na mieste
Obrátiť pole pomocou ArrayList
Reverziu poľa v Jave je možné vykonať pomocou metódy „reverznej“ prítomnej v rámci kolekcií. Najprv je však potrebné previesť pole na zoznam, pretože metóda „reverznej“ berie zoznam ako argument.
Nasledujúci program obracia pole pomocou metódy „späť“.
import java.util.*; public class Main { /*function reverses the elements of the array*/ static void reverse(Integer myArray()) { Collections.reverse(Arrays.asList(myArray)); System.out.println('Reversed Array:' + Arrays.asList(myArray)); } public static void main(String() args) { Integer () myArray = {1,3,5,7,9}; System.out.println('Original Array:' + Arrays.asList(myArray)); reverse(myArray); } }
Výkon:
V tomto programe používame funkciu reverznej zmeny poľa v zozname.
Podobným spôsobom môžeme aj my obrátiť pole reťazcov, ako je znázornené v nasledujúcom príklade.
Príklad:
import java.util.*; public class Main { /*function reverses the elements of the array*/ static void reverse(String myArray()) { Collections.reverse(Arrays.asList(myArray)); System.out.println('Reversed Array:' + Arrays.asList(myArray)); } public static void main(String() args) { String () myArray = {'one', 'Two', 'Three', 'Four', 'Five', 'Six','Seven'}; System.out.println('Original Array:' + Arrays.asList(myArray)); reverse(myArray); } }
Výkon:
Vyššie uvedený program definuje pole reťazcov. Prevedením do zoznamu a použitím reverznej metódy v ňom pole obrátime.
Obrátiť pole pomocou tradičného cyklu Loop
Ďalším prístupom k obráteniu poľa je napísanie samostatnej metódy na obrátenie poľa, v ktorej môžete mať nové pole a vložiť prvky pôvodného poľa do tohto nového poľa opačným spôsobom.
Skontrolujte nasledujúcu implementáciu.
public class Main { static void reverse_array(char char_array(), int n) { char() dest_array = new char(n); int j = n; for (int i = 0; i Výkon:
ako otvoriť bleskový objekt tlakovej vlny
Tu sme ako príklad použili pole znakov. Pomocou reverznej funkcie postupne obraciame prvky poľa a potom zobrazujeme obrátené pole.
Obrátenie poľa na mieste
Treťou metódou obrátenia poľa je obrátenie prvkov poľa na mieste bez použitia samostatného poľa. V tejto metóde sa prvý prvok poľa zamení za posledný prvok poľa. Podobne je vymenený druhý prvok poľa s druhým posledným prvkom poľa atď.
Týmto spôsobom na konci prechodu poľa budeme mať celé pole obrátené.
Nasledujúci program demonštruje miestne obrátenie poľa.
import java.util.Arrays; public class Main { /*swap the first elemnt of array with the last element; second element with second last and so on*/ static void reverseArray(intintArray(), int size) { int i, k, temp; for (i = 0; i Výkon:
najlepší čistič pevných diskov pre Windows 10
Ako je zobrazené na výstupe, program generuje obrátené pole výmenou prvkov v pôvodnom poli samotnom bez použitia druhého poľa. Táto technika je efektívnejšia, pretože šetrí miesto v pamäti.
často kladené otázky
Otázka č. 1) Ako obrátite pole v Jave?
Odpoveď: Existujú tri spôsoby, ako obrátiť pole v Jave.
- Pomocou slučky for prechádzajte po poli a kopírujte prvky do iného poľa v opačnom poradí.
- Pomocou miestneho obrátenia, pri ktorom sú prvky zamenené, aby ste ich umiestnili v opačnom poradí.
- Opačná metóda rozhrania Zbierky, ktorá funguje na zoznamoch.
Otázka 2) Ako obrátite zoznam v Jave?
Odpoveď: Môžete použiť reverznú metódu, ktorú poskytuje rozhranie Collections v prostredí Java.
Otázka č. 3) Ktorá metóda obrátenia poľa je lepšia?
Odpoveď: Za normálnych okolností je najlepšie prevádzať pole na zoznam a obrátiť ho pomocou reverznej metódy. Obrátenie na mieste je tiež lepšie ako použitie iného poľa na jeho obrátenie, pretože sa tak ušetrí pamäť.
Záver
V tomto tutoriáli sme diskutovali o rôznych metódach obrátenia poľa v Jave. Aj keď sme na demonštračné účely použili celočíselné údaje, môžete použiť tie isté metódy na obrátenie poľa s akýmikoľvek ďalšími údajmi, či už primitívnymi alebo neprimitívnymi.
V našich ďalších tutoriáloch rozoberáme viac tém o poliach, ako sú výnimky, reťazcové polia atď.
=> Prečítajte si jednoduchého sprievodcu Java tu
Odporúčané čítanie
- Výukový program Java Array Length s príkladmi kódu
- Výukový program JAVA pre začiatočníkov: viac ako 100 praktických výučbových programov Java Video
- Java Array - Ako tlačiť prvky poľa v Jave?
- Java Array - Deklarovať, vytvoriť a inicializovať pole v Jave
- Generické pole Java - Ako simulovať generické polia v prostredí Java?
- Pole objektov v Jave: Ako vytvárať, inicializovať a používať
- Výukový program Java Reflection s príkladmi
- Výukový program pre rozhranie Java a abstraktnú triedu s príkladmi