Hoe sorteer ik Array, ArrayList, String, List, Map en Set in Java?



Dit artikel gaat over sorteren in Java. Hier leert u hoe u Array, ArrayList, String, List, Map en Set sorteert in Java.

Sorteren is een essentieel onderdeel van elke programmeertaal. Java is ongetwijfeld een van de beste programmeertalen. Het heeft verschillende functies die het gemakkelijk maken! Dit artikel zal je helpen alles over sorteren te ontvouwen sorteer vooral Array, ArrayList, String, List, Map en Set in Java.

hoe je een hoop maakt in java

Onderstaande onderwerpen worden behandeld in dit sorteerartikel:





Laten we beginnen. :-)

Sorteer Array in Java

Arrays in Java sla een of meer waarden van een specifiek gegevenstype op en bied geïndexeerde toegang om deze in een enkele variabele op te slaan. Laten we eens kijken naar het onderstaande programma om een ​​array in Java in oplopende volgorde te sorteren. Zorg er echter voor dat u Java is geïnstalleerd .



Sort Array in Java - Oplopende volgorde

pakket Edureka import java.util.Arrays public class SortArray {public static void main (String [] args) {int [] arr = {52,12,2,72,4} // array van 5 elementen Arrays.sort (arr ) System.out.printf ('Sorted arr [] =% s', Arrays.toString (arr))}}

Uitvoer - Gesorteerd arr [] = [2, 4, 12, 52, 72]

Sorteermatrix in Java - aflopende volgorde

pakket 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} // gebruikt Integer [ ] in plaats van int als Collections Arrays.sort (arr, Collections.reverseOrder ()) // reverseorder () voor aflopende volgorde System.out.printf ('Sorted arr [] =% s', Arrays.toString (arr))} }

Uitgang: Gesorteerd arr [] = [72, 52, 12, 4, 2]

Opmerking: In de bovenstaande code heb ik Integer [] array gebruikt in plaats van int vanwege . Dit komt doordat reverseOrder () geen primitieve typen ondersteunt.



Veel mensen verwarren met het concept van arrays en ArrayList in Java. Onderstaande tabel kan al uw twijfels wegnemen.

Array ArrayList

Het heeft een vaste lengte

Het is van variabele lengte (dynamisch in grootte)

Ondersteunt alleen primitief gegevenstype

Kan verschillende objecten en gegevens aan de lijst toevoegen

Ondersteunt geen dubbele toevoeging

Hiermee kunnen dubbele elementen worden toegevoegd

Kan alleen in voorwaartse richting bewegen

Kan zowel voorwaarts als achterwaarts bewegen

Grootte kan niet dynamisch worden gewijzigd

Grootte kan dynamisch worden gewijzigd


Ik hoop dat het verschil voor je is opgelost, laten we doorgaan en kijken hoe we het kunnen sorteren .

xml-transformatie in informatica met voorbeeld

Sorteer ArrayList in Java (String)

Het sorteren van ArrayList in Java kan eenvoudig worden gedaan met behulp van een eenvoudig sort () methode . Raadpleeg de onderstaande code om ArrayList in Java te sorteren.

pakket Edureka import java.util.Arrays import java.util.Collections import java.util. * public class sortingarraylist {public static void main (String args []) {ArrayList list = nieuwe ArrayList () // Vul de ArrayList list.add ('sorting') list.add ('java') list.add ('arraylist') list.add ('in') System.out.println ('Unsorted ArrayList:' + lijst) // afgedrukte ongesorteerde arraylistcollecties. sort (lijst) // sorteermethode voor oplopende volgorde System.out.println ('Sorted ArrayList' + 'in oplopende volgorde:' + lijst) // print gesorteerde arraylist}}

Uitgang -

Unsorted ArrayList: [sorting, java, arraylist, in]
Sorted ArrayList in oplopende volgorde: [arraylist, in, java, sorting]

Laten we verder gaan met sorteren in het Java-artikel, laten we eens kijken hoe u gehele getallen kunt sorteren. Laten we proberen sorteren te implementeren met een andere methode, d.w.z. met de methode Collections.sort ().

Sorteer ArrayList in Java met behulp van verzamelingen (gehele getallen)

U kunt Integer ArrayList sorteren met de methode Collections.sort ().

pakket Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingArrayList {public static void main (String args []) {ArrayList arraylist = nieuwe ArrayList () arraylist.add (48) arraylist. add (2) arraylist.add (19) arraylist.add (22) System.out.println ('Before Sorting:') // alvorens te sorteren op (int counter: arraylist) {System.out.println (counter)} Collections .sort (arraylist) // functie om in oplopende volgorde te sorteren System.out.println ('After Sorting:') // na sortering voor (int counter: arraylist) {System.out.println (counter)}}}

Uitgang -
Voor het sorteren:
48
2
19
22
Na het sorteren:
2
19
22
48

Sorteer String in Java

String in Java is onveranderlijk. Er is geen directe methode om een . Je kunt Arrays gebruiken, die een methode CharArray () heeft die een char-invoertekenreeks maakt en met een andere methode (Arrays.sort (char c []), kunnen we gemakkelijk sorteren.

pakket Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingString {public static String sortString (String inputString) {char Array1 [] = inputString.toCharArray () // Invoertekenreeks omzetten in char array Arrays.sort (Array1) retourneer nieuwe String (Array1) // retourneer gesorteerde string} public static void main (String [] args) {String inputString = 'Edureka' String outputString = sortString (inputString) System.out.println (' Invoertekenreeks: '+ inputString) System.out.println (' Uitvoerstring: '+ outputString)}}

Uitgang -
Invoertekenreeks: Edureka
Uitvoerstring: Eadekru

Sorteer een lijst in Java

Om een ​​lijst te sorteren in , kunt u de methode Collections.sort () gebruiken. Raadpleeg de volgende code voor meer begrip:

pakket Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingList {public static void main (String [] args) {Integer [] cijfers = nieuw geheel getal [] {12,56,89 , 27,22,4,88,65,36} Lijst digitsList = Arrays.asList (cijfers) Collections.sort (digitsList) // gesorteerde lijst System.out.println ('Sorted String:' + digitsList)}}

Uitvoer : Gesorteerde tekenreeks: [4, 12, 22, 27, 36, 56, 65, 88, 89]

Sorteer een kaart in Java

Een kaart in Java hoort bij die een sleutel / waarde-paar bevat. Daarom kan een kaart op twee verschillende manieren worden gesorteerd:

  • Sorteer op sleutel
  • Sorteer op waarde

Sorteer op sleutel:

pakket Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingMap {public static void main (String [] args) {HashMap map = nieuwe HashMap () map.put (14, 'Aayushi ') map.put (2,' Rachit ') map.put (30,' Amit ') map.put (5,' Anamika ') TreeMap treeMap = nieuwe TreeMap (kaart) System.out.println (treeMap)}}

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

Sorteer op waarde:

pakket Edureka import java.util.Arrays import java.util.Collections import java.util. * public class 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 gesorteerdMap = nieuw LinkedHashMap () unSortedMap.entrySet () .stream () .sorted (Map.Entry.comparingByValue ()) .forEachOrdered (x -> gesorteerdMap.put (x.getKey (), x.getValue ())) System.out.println (gesorteerdMap)}}

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

Als we verder gaan met sorteren in Java, gaan we verder met het laatste onderwerp, namelijk een set sorteren in .

Sorteer Set in Java

Een set in Java is een interface die collecties uitbreidt. Het is een ongeordende verzameling objecten waarin geen dubbele waarden worden opgeslagen. Nu is er geen directe methode om een ​​set in Java te sorteren. Om nu een set te sorteren, moet u een set naar List converteren en vervolgens Collections.sort () API gebruiken en de lijst opnieuw naar een set converteren. Raadpleeg de onderstaande code voor meer begrip:

c ++ hoe naamruimten te gebruiken
pakket Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortSet {public static void main (String [] args) {// Unsorted list HashSet numbersSet = new LinkedHashSet (Arrays.asList (12 , 56,89,27,22,4,88,65,36)) Lijst numbersList = nieuwe ArrayList (numbersSet) // set converteren naar lijst // Sorteer de lijst Collections.sort (numbersList) numbersSet = nieuwe LinkedHashSet (numbersList) // converteer lijst naar set // Print set om System.out.println (numbersSet)}} te bevestigen

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

Dit brengt ons aan het einde van onze blog over sorteren in Java, waar je hebt geleerd hoe je Array, ArrayList, String, Map en Set in Java kunt sorteren. Ik hoop dat je deze blog informatief vond en een meerwaarde voor je kennis.

Zorg ervoor dat je zoveel mogelijk oefent en terugkeert naar je ervaring.

Bekijk de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. De training- en certificeringcursus Java J2EE en SOA van Edureka is bedoeld voor studenten en professionals die Java Developer willen worden. De cursus is bedoeld om u een voorsprong te geven in het programmeren van Java en u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze ‘Sorting in Java: Array, ArrayList, String, Map and Set in Java” en we nemen zo snel mogelijk contact met u op.