reverse an array java 3 methods with examples
Inversarea unei matrice este una dintre operațiile cruciale din Java. În acest tutorial, vom afla cum să inversați o matrice în Java:
Uneori programatorii trebuie să proceseze tablouri începând cu ultimul element, în acest caz, este întotdeauna eficient să inversați tabloul, astfel încât primul element să fie plasat în ultima poziție din tablou, iar cel de-al doilea element să fie plasat în a doua ultimă poziție în matrice și așa mai departe până când ultimul element se află la primul index.
=> Consultați seria de antrenament Java finală aici
Să luăm în considerare o matrice așa cum se arată mai jos:
După aplicarea funcționalității inverse, matricea rezultată ar trebui să fie ca:
Ce veți învăța:
Imprimarea matricei în ordine inversă
Alternativ, dacă dorim să imprimăm tabloul în ordine inversă, fără a-l inversa, atunci putem face acest lucru doar oferind o buclă for care va începe tipărirea de la sfârșitul tabloului. Aceasta este o opțiune bună atâta timp cât dorim doar să imprimăm matricea în ordine inversă, fără a efectua nicio procesare cu aceasta.
Următorul program imprimă matricea în ordine inversă.
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) + ' '); } }
Ieșire:
Aceasta este o opțiune fezabilă pentru a imprima numai tabloul.
Java oferă diverse metode pentru a inversa efectiv indicii elementelor din matrice. Mai jos sunt enumerate diferitele metode pe care le vom discuta în detaliu în acest tutorial.
- Folosind metoda inversă ArrayList
- Folosind bucla tradițională
- Utilizarea inversării în loc
Inversați o matrice utilizând ArrayList
Inversarea unei matrice în Java se poate face folosind metoda „inversă” prezentă în cadrul colecțiilor. Dar pentru aceasta, mai întâi trebuie să convertiți o matrice într-o listă, deoarece metoda „inversă” ia lista ca argument.
Următorul program inversează o matrice utilizând metoda „inversă”.
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); } }
Ieșire:
cum se deschide un fișier swf
În acest program, folosim funcția inversă pe o matrice prin schimbarea acesteia în listă.
Într-un mod similar, putem, de asemenea inversați o matrice de șiruri așa cum se arată în exemplul următor.
Exemplu:
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); } }
Ieșire:
Programul de mai sus definește o matrice de șiruri. Transformându-l în listă și folosind metoda inversă pe aceasta, inversăm matricea.
Inversați o matrice folosind tradițional pentru buclă
O altă abordare pentru inversarea matricei este de a scrie o metodă separată pentru a inversa o matrice în care puteți avea o matrice nouă și să puneți elementele matricei originale în această nouă matrice într-un mod invers.
Verificați următoarea implementare.
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 Ieșire:
Aici am folosit o matrice de caractere ca exemplu. Folosind funcția inversă, inversăm elementele matrice unul câte unul și apoi afișăm matricea inversată.
Inversare în loc a matricei
A treia metodă de inversare a matricei este inversarea elementelor matricei în loc, fără a utiliza o matrice separată. În această metodă, primul element al tabloului este schimbat cu ultimul element al tabloului. În mod similar, al doilea element al matricei este schimbat cu al doilea ultim element al matricei și așa mai departe.
În acest fel, la sfârșitul traversării matricei, vom avea întregul tablou inversat.
Următorul program demonstrează inversarea în loc a matricei.
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 Ieșire:
cum se face un grafic în java
Așa cum se arată în rezultat, programul generează o matrice inversată schimbând elementele din matricea originală însăși fără a utiliza a doua matrice. Această tehnică este mai eficientă, deoarece economisește spațiu de memorie.
întrebări frecvente
Q # 1) Cum inversați o matrice în Java?
Răspuns: Există trei metode pentru a inversa o matrice în Java.
- Folosind o buclă for pentru a traversa matricea și a copia elementele într-o altă matrice în ordine inversă.
- Utilizarea inversării în loc în care elementele sunt schimbate pentru a le plasa în ordine inversă.
- Folosind metoda inversă a interfeței Colecții care funcționează pe liste.
Q # 2) Cum inversați o listă în Java?
Răspuns: Puteți utiliza metoda inversă oferită de interfața Colecții din Java.
Q # 3) Ce metodă de inversare a unei matrice este mai bună?
Răspuns: În mod normal, conversia unui tablou în listă și inversarea acestuia utilizând metoda inversă este cea mai bună. De asemenea, inversarea în loc este mai bună decât utilizarea unui alt tablou pentru a inversa tabloul, deoarece acest lucru economisește în memorie.
Concluzie
În acest tutorial, am discutat diferitele metode pentru a inversa o matrice în Java. Deși, în scopuri demonstrative, am folosit date întregi, puteți aplica aceleași metode pentru a inversa matricea cu orice alte date, fie ele primitive sau neprimitive.
În tutorialele noastre ulterioare, discutăm mai multe subiecte despre matrici precum excepții, matrici de șiruri etc.
=> Citiți Ghidul Java simplu aici
Lectură recomandată
- Tutorial Java Array Length cu exemple de cod
- Tutorial JAVA pentru începători: peste 100 de tutoriale video Java practice
- Java Array - Cum se imprimă elemente ale unui array în Java?
- Java Array - Declarați, creați și inițializați o matrice în Java
- Java Generic Array - Cum se pot simula matrici generice în Java?
- Matrice de obiecte în Java: Cum se creează, se inițializează și se utilizează
- Tutorial de reflecție Java cu exemple
- Interfață Java și tutorial de clasă abstractă cu exemple