Sortering är en viktig del av alla programmeringsspråk. Java är utan tvekan ett av de bästa programmeringsspråken. Den har olika funktioner som gör det enkelt! Den här artikeln hjälper dig att utveckla allt om sortering speciellt sortera Array, ArrayList, String, List, Map och Set i Java.
Nedanstående ämnen behandlas i den här sorteringsartikeln:
- Sortera matris i Java
- Array vs ArrayList
- Sortera ArrayList
- Sortera sträng
- Sortera en lista
- Sortera en karta
- Sortera en uppsättning i Java
Låt oss börja. :-)
Sortera matris i Java
Arrayer i Java lagra ett eller flera värden av en specifik datatyp och ge indexerad åtkomst för att lagra samma i en enda variabel. Låt oss titta på programmet nedan för att sortera en matris i Java i stigande ordning. Men se till att du har Java installerat .
Sortera matris i Java - stigande ordning
paket Edureka importera java.util.Arrays public class 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))}}
Produktion - Sorterat arr [] = [2, 4, 12, 52, 72]
Sortera matris i Java - fallande ordning
paket 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 [ ] istället för int som samlingar Arrays.sort (arr, Collections.reverseOrder ()) // omvänd ordning () för fallande ordning System.out.printf ('Sorted arr [] =% s', Arrays.toString (arr))} }
Produktion: Sorterat arr [] = [72, 52, 12, 4, 2]
Notera: I ovanstående kod har jag använt Integer [] array istället för int på grund av . Detta beror på att reverseOrder () inte stöder primitiva typer.
Många människor förväxlar med begreppet arrays och ArrayList i Java. Nedanstående tabell kan rensa alla dina tvivel.
Array | ArrayList |
Den har fast längd | Den har variabel längd (dynamisk i storlek) |
Stöder endast primitiv datatyp talend etl tool tutorial pdf | Kan lägga till olika objekt och data i listan |
Stöder inte ett duplicerat tillägg | Tillåter tillägg av dubbletter |
Kan bara korsa framåt | Kan korsa både framåt och bakåt |
Storleken kan inte ändras dynamiskt | Storleken kan ändras dynamiskt |
Jag hoppas att du rensas med skillnaden, låt oss gå vidare och se hur man sorterar .
Sortera ArrayList i Java (String)
Sortera ArrayList i Java kan enkelt göras med hjälp av en enkel sort () metod . Se koden nedan för att sortera ArrayList i Java.
paket Edureka importerar java.util.Arrays importerar java.util.Collections importerar java.util. * public class sortingarraylist {public static void main (String args []) {ArrayList list = new ArrayList () // Befolk ArrayList list.add ('sortering') list.add ('java') list.add ('arraylist') list.add ('in') System.out.println ('Osorterad ArrayList:' + lista) // utskrivna osorterade arraylistsamlingar. sortera (lista) // sortera metod för stigande ordning System.out.println ('Sorterad ArrayList' + 'i stigande ordning:' + lista) // skriv ut sorterad arraylist}}
Utgång -
Osorterad ArrayList: [sortering, java, arraylist, i]
Sorterad ArrayList i stigande ordning: [arraylist, in, java, sorting]
Gå vidare med sortering i Java-artikeln, låt oss se hur du kan sortera heltal. Låt oss försöka implementera sortering med en annan metod, dvs med hjälp av Collections.sort () -metoden.
Sortera ArrayList i Java med hjälp av samlingar (heltal)
Du kan sortera Integer ArrayList med hjälp av Collections.sort () -metoden.
paket Edureka importera java.util.Arrays importera java.util.Collections importera java.util. * public class SortingArrayList {public static void main (String args []) {ArrayList arraylist = new ArrayList () arraylist.add (48) arraylist. lägg till (2) arraylist.add (19) arraylist.add (22) System.out.println ('Before Sorting:') // före sortering efter (int counter: arraylist) {System.out.println (counter)} Collections .sort (arraylist) // funktion för att sortera i stigande ordning System.out.println ('After Sorting:') // after sorting for (int counter: arraylist) {System.out.println (counter)}}}
Utgång -
Före sortering:
48
2
19
22
Efter sortering:
2
19
22
48
Sortera sträng i Java
Sträng i Java är oföränderlig. Det finns ingen direkt metod för att sortera a . Du kan använda Arrays, som har en metod CharArray () som skapar en char-inmatningssträng och med en annan metod (Arrays.sort (char c []) kan vi enkelt sortera.
paket Edureka importera java.util.Arrays importera java.util.Collections importera java.util. * offentlig klass SortingString {public static String sortString (String inputString) {char Array1 [] = inputString.toCharArray () // konvertering av ingångssträng till char array Arrays.sort (Array1) return new String (Array1) // return sorted string} public static void main (String [] args) {String inputString = 'Edureka' String outputString = sortString (inputString) System.out.println (' Ingångssträng: '+ inputString) System.out.println (' Output String: '+ outputString)}}
Utgång -
Ingångssträng: Edureka
Outputsträng: Eadekru
ställa in java classpath windows 7
Sortera en lista i Java
Att sortera en lista i kan du använda metoden Collections.sort (). Se följande kod för mer förståelse:
paket Edureka importera java.util.Arrays importera java.util.Collections importera java.util. * public class SortingList {public static void main (String [] args) {Integer [] siffror = nytt heltal [] {12,56,89 , 27,22,4,88,65,36} List digitsList = Arrays.asList (siffror) Collections.sort (digitsList) // sorterad lista System.out.println ('Sorted String:' + digitsList)}}
Produktion : Sorterad sträng: [4, 12, 22, 27, 36, 56, 65, 88, 89]
Sortera en karta i Java
En karta i Java tillhör som innehåller nyckel-värdepar. Därför kan en karta sorteras på två olika sätt:
- Sortera efter nyckel
- Sortera efter värde
Sortera efter nyckel:
paket Edureka importera java.util.Arrays importera java.util.Collections importera java.util. * offentlig klass 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 = ny TreeMap (karta) System.out.println (treeMap)}}
Produktion: {2 = Rachit, 5 = Anamika, 14 = Aayushi, 30 = Amit}
Sortera efter värde:
paket Edureka importera java.util.Arrays importera java.util.Collections importera 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 sortedMap = new LinkedHashMap () unSortedMap.entrySet () .stream () .sorted (Map.Entry.comparingByValue ()) .forEachOrdered (x -> sortedMap.put (x.getKey (), x.getValue ())) System.out.println (sortedMap)}}
Produktion: {14 = Aayushi, 60 = Amit, 70 = Anamika, 20 = Rachit}
När vi går vidare med sortering i Java, låt oss ta upp det sista ämnet, det vill säga sortera en Set in .
Sortera Set i Java
En uppsättning i Java är ett gränssnitt som utökar samlingar. Det är en oordnad samling objekt som inte lagrar dubbla värden. Nu finns det ingen direkt metod för att sortera en uppsättning i Java. Nu för att sortera en uppsättning måste du konvertera en uppsättning till List och sedan använda collection.sort () API och återigen konvertera listan till en uppsättning. Se koden nedan för mer förståelse:
paket Edureka importera java.util.Arrays importera java.util.Collections importera java.util. * public class SortSet {public static void main (String [] args) {// Osorterad lista HashSet numbersSet = new LinkedHashSet (Arrays.asList (12) , 56,89,27,22,4,88,65,36)) Listnummer Lista = ny ArrayList (numbersSet) // konvertera set till lista // Sortera listan Collections.sort (numbersList) numbersSet = new LinkedHashSet (numbersList) // konvertera lista till set // Print set för att bekräfta System.out.println (numbersSet)}}
Produktion : [4, 12, 22, 27, 36, 56, 65, 88, 89]
Detta leder oss till slutet av vår blogg om sortering i Java där du har lärt dig hur man sorterar Array, ArrayList, String, Map och Set i Java. Jag hoppas att du tyckte att den här bloggen var informativ och gav ditt kunnande mervärde.
Se till att du tränar så mycket som möjligt och återgår till din upplevelse.
Kolla in av Edureka, ett pålitligt online-lärande företag med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för studenter och yrkesverksamma som vill bli Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.
Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna ”Sortering i Java: Array, ArrayList, String, Map and Set in Java” så återkommer vi så snart som möjligt.