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:
- Sorteer Array in Java
- Array versus ArrayList
- Sorteer ArrayList
- Sorteer String
- Sorteer een lijst
- Sorteer een kaart
- Sorteer een set in Java
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.