Hvordan sortere Array, ArrayList, String, List, Map og Set i Java?



Denne artikkelen fokuserer på sortering i Java. Her lærer du hvordan du sorterer Array, ArrayList, String, List, Map og Set i Java.

Sortering er en viktig del av ethvert programmeringsspråk. Java er uten tvil et av de beste programmeringsspråkene. Den har forskjellige funksjoner som gjør det enkelt! Denne artikkelen vil hjelpe deg med å brette ut alt om sortering spesielt, sorter Array, ArrayList, String, List, Map og Set i Java.

Følgende emner er dekket i denne sorteringsartikkelen:





La oss begynne. :-)

Sorter matrise i Java

Arrays i Java lagre en eller flere verdier av en bestemt datatype og gi indeksert tilgang til å lagre den samme i en enkelt variabel. La oss se på programmet nedenfor for å sortere en matrise i Java i stigende rekkefølge. Men sørg for at du har Java installert .



Sorter matrise i Java - stigende rekkefølge

pakke Edureka importerer java.util.Arrays offentlig klasse SortArray {public static void main (String [] args) {int [] arr = {52,12,2,72,4} // array of 5 elements Arrays.sort (arr ) System.out.printf ('Sorted arr [] =% s', Arrays.toString (arr))}}

Produksjon - Sortert arr [] = [2, 4, 12, 52, 72]

Sorter matrise i Java - synkende rekkefølge

pakke Edureka import java.util.Arrays import java.util.Collections public class SortArray {public static void main (String [] args) {Integer [] arr = {52,12,2,72,4} // used Integer [ ] i stedet for int som samlinger Arrays.sort (arr, Collections.reverseOrder ()) // ombestilling () for synkende rekkefølge System.out.printf ('Sorted arr [] =% s', Arrays.toString (arr))} }

Produksjon: Sortert arr [] = [72, 52, 12, 4, 2]

Merk: I koden ovenfor har jeg brukt Integer [] array i stedet for int på grunn av . Dette er fordi reverseOrder () ikke støtter primitive typer.



Mange forveksler med begrepet arrays og ArrayList i Java. Tabellen nedenfor kan fjerne all din tvil.

Array ArrayList

Den har fast lengde

Den har variabel lengde (dynamisk i størrelse)

Støtter bare primitiv datatype

Kan legge til forskjellige objekter og data i listen

Støtter ikke et duplikattillegg

Tillater tillegg av dupliserte elementer

Kan bare krysse fremover

Kan krysse både fremover og bakover

Størrelse kan ikke endres dynamisk

Størrelse kan endres dynamisk


Jeg håper du blir ryddet med forskjellen, la oss gå videre og se hvordan vi kan sortere .

Sorter ArrayList i Java (streng)

Sortering av ArrayList i Java kan enkelt gjøres ved å bruke en enkel sorter () metode . Se koden nedenfor for å sortere ArrayList i Java.

pakke Edureka importerer java.util.Arrays importerer java.util.Collections importerer java.util. * public class sortingarraylist {public static void main (String args []) {ArrayList list = new ArrayList () // Befolk ArrayList-listen.add ('sortering') list.add ('java') list.add ('arraylist') list.add ('in') System.out.println ('Usortert ArrayList:' + liste) // trykte usorterte arraylistesamlinger. sorter (liste) // sorteringsmetode for stigende rekkefølge System.out.println ('Sorted ArrayList' + 'i stigende rekkefølge:' + liste) // skriv ut sortert arraylist}}

Utgang -

Usortert ArrayList: [sortering, java, arraylist, i]
Sortert ArrayList i stigende rekkefølge: [arraylist, in, java, sorting]

bredde første søkealgoritme pseudokode

Fortsett med sortering i Java-artikkelen, la oss se hvordan du kan sortere heltall. La oss prøve å implementere sortering ved hjelp av en annen metode, dvs. ved hjelp av Collections.sort () -metoden.

Sorter ArrayList i Java ved hjelp av samlinger (heltall)

Du kan sortere Integer ArrayList ved hjelp av Collections.sort () -metoden.

pakke Edureka importerer java.util.Arrays importerer java.util.Collections importerer java.util. * offentlig klasse SortingArrayList {public static void main (String args []) {ArrayList arraylist = new ArrayList () arraylist.add (48) arraylist. legg til (2) arraylist.add (19) arraylist.add (22) System.out.println ('Before Sorting:') // før sortering etter (int counter: arraylist) {System.out.println (counter)} Collections .sort (arraylist) // funksjon for å sortere i stigende rekkefølge System.out.println ('After Sorting:') // etter sortering for (int counter: arraylist) {System.out.println (counter)}}}

Utgang -
Før sortering:
48
2
19
22
Etter sortering:
2
19
22
48

Sorter streng i Java

Streng i Java er uforanderlig. Det er ingen direkte metode for å sortere en . Du kan bruke Arrays, som har en metode CharArray () som vil lage en char-inputstreng og ved å bruke en annen metode (Arrays.sort (char c []) kan vi enkelt sortere.

pakke Edureka importerer java.util.Arrays importerer java.util.Collections importerer java.util. * offentlig klasse SortingString {public static String sortString (String inputString) {char Array1 [] = inputString.toCharArray () // converting input string to char array Arrays.sort (Array1) return new String (Array1) // return sorted string} public static void main (String [] args) {String inputString = 'Edureka' Streng outputString = sortString (inputString) System.out.println (' Inngangstreng: '+ inputString) System.out.println (' Output String: '+ outputString)}}

Utgang -
Inngangsstreng: Edureka
Utgangssnor: Eadekru

Sorter en liste i Java

Å sortere en liste i , kan du bruke Collections.sort () -metoden. Se følgende kode for mer forståelse:

pakke Edureka importerer java.util.Arrays importerer java.util.Collections importerer java.util. * offentlig klasse SortingList {offentlig statisk ugyldig hoved (String [] args) {Heltall [] sifre = nytt heltall [] {12,56,89 , 27,22,4,88,65,36} Liste digitsList = Arrays.asList (sifre) Collections.sort (digitsList) // sortert liste System.out.println ('Sorted String:' + digitsList)}}

Produksjon : Sortert streng: [4, 12, 22, 27, 36, 56, 65, 88, 89]

Sorter et kart i Java

Et kart i Java tilhører som inneholder nøkkelverdipar. Derfor kan et kart sorteres på to forskjellige måter:

  • Sorter etter nøkkel
  • Sorter etter verdi

Sorter etter nøkkel:

pakke Edureka importerer java.util.Arrays importerer java.util.Collections importerer java.util. * offentlig klasse SortingMap {public static void main (String [] args) {HashMap map = new HashMap () map.put (14, 'Aayushi ') map.put (2,' Rachit ') map.put (30,' Amit ') map.put (5,' Anamika ') TreeMap treeMap = new TreeMap (map) System.out.println (treeMap)}}

Produksjon: {2 = Rachit, 5 = Anamika, 14 = Aayushi, 30 = Amit}

Sorter etter verdi:

pakke Edureka importerer java.util.Arrays importerer java.util.Collections importerer java.util. * offentlig klasse SortingMap {public static void main (String [] args) {HashMap unSortedMap = new HashMap () unSortedMap.put (14, 'Aayushi ') unSortedMap.put (20,' Rachit ') unSortedMap.put (60,' Amit ') unSortedMap.put (70,' Anamika ') LinkedHashMap sortedMap = new LinkedHashMap () unSortedMap.entrySet () .stream () .sorted (Map.Entry.comparingByValue ()) .forEachOrdered (x -> sortedMap.put (x.getKey (), x.getValue ())) System.out.println (sortedMap)}}

Produksjon: {14 = Aayushi, 60 = Amit, 70 = Anamika, 20 = Rachit}

Fortsett med sortering i Java, la oss hente det siste emnet, dvs. sortere et sett inn .

Sorter sett i Java

Et sett i Java er et grensesnitt som utvider samlinger. Det er en uordnet samling objekter som ikke lagrer dupliserte verdier. Nå er det ingen direkte metode for å sortere et sett i Java. Nå for å sortere et sett, må du konvertere et sett til Liste og deretter bruke collection.sort () API og igjen konvertere listen tilbake til et sett. Se koden nedenfor for mer forståelse:

pakke Edureka importerer java.util.Arrays importerer java.util.Collections importerer java.util. * offentlig klasse SortSet {public static void main (String [] args) {// Usortert liste HashSet numbersSet = new LinkedHashSet (Arrays.asList (12) , 56,89,27,22,4,88,65,36)) List numbersList = new ArrayList (numbersSet) // convert set to list // Sort the list Collections.sort (numbersList) numbersSet = new LinkedHashSet (numbersList) // konverter liste for å sette // Skriv ut for å bekrefte System.out.println (numbersSet)}}

Produksjon : [4, 12, 22, 27, 36, 56, 65, 88, 89]

Dette bringer oss til slutten av bloggen vår om sortering i Java hvor du har lært hvordan du kan sortere Array, ArrayList, String, Map og Set i Java. Jeg håper du fant denne bloggen informativ og tilføyde din kunnskap merverdi.

Forsikre deg om at du trener så mye som mulig og tilbakestiller opplevelsen.

Sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Edurekas Java J2EE- og SOA-opplæring og sertifiseringskurs er designet for studenter og fagpersoner som ønsker å være Java-utvikler. Kurset er designet for å gi deg et forsprang i Java-programmering og trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet til denne ‘Sortering i Java: Array, ArrayList, String, Map and Set in Java”, så kommer vi tilbake til deg så snart som mulig.