Java >> Java tutorial >  >> Java

3 metoder til at vende et array i Java

Hvad er Array Reverse i Java?

For at implementere array reverse i Java-programmering skal array-størrelsen og derefter array-elementerne indtastes af brugeren. I næste trin byttes array-elementerne. En variabel (temp) af samme type oprettes til at placere det første element i variabel temp, derefter placeres elementet, der kommer sidst i det første, temp placeres i det sidste, og så videre - processen fortsætter, indtil hele arrayet er omvendt.

I Java er det for det meste primitive typer af arrays - int, long, string og double arrays - forpligtet til at blive omvendt med henblik på specifikke koder. Apache commons lang, som er et open source-bibliotek, der tilskrives Apache-softwarefundamentet, leverer klasse ArrayUtils. Denne interessante klasse bruges i forbindelse med klassen java.util.Arrays til at lege med objekt og primitive arrays i Java. API'en giver brugervenlige overbelastede metoder til at vende forskellige typer arrays i Java – det være sig int, log, double, float eller object arrays.

Læs videre for at få at vide om denne og andre metoder, der vedrører, hvordan man vender et array i java – på den rigtige måde.

Sådan vender du array i Java med eksempler

Der er mange metoder til at vende et array i Java. Du kan overveje at skrive en funktion på egen hånd, der går i løkker på tværs af arrayet og blive ved med at bytte alle elementer, indtil hele arrayet er sorteret. I en anden metode til array reverse i Java kan et array konverteres til en ArrayList, hvorefter en specifik kode kan bruges til at vende ArrayList. Endnu en metode til array-reversering i Java består i at bruge Apache Commons ArrayUtils.reverse()-programmet for at vende enhver form for Java-array. Denne metode kan være overbelastet for årsagen til at vende korte, lange, int-, byte-, float-, dobbelt- eller strengtype-arrays. Brugere kan lide at implementere en hvilken som helst metode til at vende et array i java i henhold til deres valg og arten af ​​arrayet i opgørelsen.

Metode 1:Omvendt array på plads

I denne enkle måde at vende et Java-array på, er algoritmen lavet til at sløjfe over arrayet og bliver ved med at bytte elementerne, indtil midtpunktet er nået. Da der ikke bruges yderligere buffere, omtales denne metode til at vende et array i Java også som et array på stedet.

for(int i=0; i<array.length/2; i++){

 int j= array[i];

 array[i] = array[array.length -i -1];

 array[array.length -i -1] = j;

}

Tidskompleksiteten af ​​ovenstående algoritme er O(n/2). Med andre ord er det O(N), da iterationen over løkken kun finder sted indtil dens midtpunkt. Denne metode giver en ideel løsning for interviewpersoner, da de resterende to metoder er velegnede til praktiske formål.

Metode 2 - Brug af en ArrayList

Denne særlige metode til array-reversering i Java konverterer den givne array til en ArrayList og bruger derefter Collections.reverse()-metoden, der optager elementerne på listen og vender elementerne om i lineær tid. Arrays af int, string eller andre typer kan vendes ved hjælp af denne metode. Følgende eksempel viser en vending af en string type array i Java:

//Simple Java Program to reverse a string array

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

public class ArrayReverse {

   public static void main(String args[])  {

     String[] arrayColor = {"Red", "Green", "Blue", "Orange","Yellow"};

     System.out.println("Array Before: " + Arrays.toString(arrayColor) );

     List<String> arrayNewColor = Arrays.asList(arrayColor);      

     Collections.reverse(arrayNewColor);

     String[] reversed = arrayNewColor.toArray(arrayColor);

     System.out.println("Array Reverse: " + Arrays.toString(reversed) );

   }

}

Output

Array før: [Rød, Grøn, Blå, Orange, Gul]

Array omvendt: [Gul, Orange, Blå, Grøn, Rød]

Som det fremgår af outputtet ovenfor, er den oprindelige rækkefølge af elementer blevet omvendt i det endelige array som returneret af toArray()-metoden i List-klassen.

Metode 3 - Ved at bruge ArrayUtils.reverse()

Apache commons refers er en samling af adskillige hjælpebiblioteker, der bruges til effektiv Java-udvikling. Dette bibliotek tilføjes ofte som standard af kodere til deres projekter med henblik på at komplementere JDK. Apache Commons Lang tilbyder klasse ArrayUtils, der består af overbelastede reverse()-metoder til årsagen til at vende int, float samt objekttype-arrays i Java. Denne særlige metode vender enhver given matrix i stedet for; med andre ord, et nyt array oprettes ikke med henblik på array-omvendt i Java-koden.

Følgende kode vil passende afbilde denne metode:

import java.util.Arrays;

import org.apache.commons.lang3.ArrayUtils;

public class Byarrayutilis {

   public static void main(String args[]) {

       String[] arraycolor = {"Red", "Green", "Blue", "Orange","Yellow"};

       System.out.println("Array before: " + Arrays.toString(arraycolor));

       ArrayUtils.reverse(arraycolor);

       System.out.println("Array after: " + Arrays.toString(arraycolor));

   }

}

Output

Array før: [Rød, Grøn, Blå, Orange, Gul]

Array omvendt: [Gul, Orange, Blå, Grøn, Rød]

ArrayUtils-klassen tilhører Apache Commons Lang. Commons-lang3-3.4.jar skal tilføjes til applikationens klassesti for at denne metode kan finde sted. Alternativt, hvis Maven bruges, skal følgende afhængighed inkluderes i pom.xml-filen.

<dependency>

       <groupId>org.apache.commons</groupId>

       <artifactId>commons-lang3</artifactId>

       <version>3.4</version>

   </dependency>

Hvordan udskriver jeg bagsiden af ​​et array i Java?

Allerede i starten skal værdier leveres til arrayet, der skal vendes i Java.

int[] var = { 1, 2, 3 };

Dernæst skal loop-tælleren initialiseres. Denne initialiseringsproces kan finde sted inde fra sløjfestrukturen. Sløjfen kan defineres som:

for (int i = var.length - 1; i >= 0; --i){

System.out.println(var[i]);

}

Udgangen er 321, som vil blive udskrevet til konsollen.

Konklusion

De ovennævnte metoder hjælper meget med at hjælpe kodere med at vende int &String-array i Java. Omvendt array i Java kan implementeres passende i overensstemmelse med ovenstående tre metoder. Hvis du skal besvare et interviewspørgsmål vedrørende et java-program for at vende et array, så brug in-place-algoritmen. De andre metoder inkluderer brug af ArrayList-klassen og hjælpemetoden ArrayUtils.reverse(), der tilhører Apache commons lang-biblioteket. Vælg den metode, der gælder for dit omvendte array i java-programmeringsbehov på den bedst mulige måde!


Java tag