Jak třídit Array, ArrayList, String, List, Map a Set v Javě?



Tento článek se zaměřuje na řazení v Javě. Zde se naučíte, jak třídit Array, ArrayList, String, List, Map a Set v Javě.

Třídění je nezbytnou součástí každého programovacího jazyka. Java je bezpochyby jedním z nejlepších programovacích jazyků. Má různé funkce, které usnadňují! Tento článek vám pomůže rozvinout vše o třídění zejména tříděte Array, ArrayList, String, List, Map a Set in Java.

V tomto třídícím článku jsou popsána níže uvedená témata:





Pojďme začít. :-)

Třídit pole v Javě

Pole v Javě uložit jednu nebo více hodnot konkrétního datového typu a poskytnout indexovaný přístup k jejich uložení v jedné proměnné. Podívejme se na níže uvedený program a seřaďte pole v Javě vzestupně. Ujistěte se však, že máte Java nainstalována .



Řadit pole v Javě - vzestupně

balíček Edureka import java.util.Arrays veřejná třída SortArray {public static void main (String [] args) {int [] arr = {52,12,2,72,4} // pole 5 prvků Arrays.sort (arr ) System.out.printf ('Sorted arr [] =% s', Arrays.toString (arr))}}

Výstup - Seřazeno arr [] = [2, 4, 12, 52, 72]

Řadit pole v Javě - sestupně

balíček Edureka import java.util.Arrays import java.util.Collections veřejná třída SortArray {public static void main (String [] args) {Integer [] arr = {52,12,2,72,4} // použité Integer [ ] místo int jako kolekce Arrays.sort (arr, Collections.reverseOrder ()) // reverseorder () pro sestupné pořadí System.out.printf ('Sorted arr [] =% s', Arrays.toString (arr))} }

Výstup: Seřazeno arr [] = [72, 52, 12, 4, 2]

Poznámka: Ve výše uvedeném kódu jsem místo Inte použil pole Integer [] . Důvodem je, že reverseOrder () nepodporuje primitivní typy.



Mnoho lidí si plete s konceptem polí a ArrayList v Javě. Níže uvedená tabulka může odstranit všechny vaše pochybnosti.

Pole ArrayList

Má pevnou délku

Má proměnnou délku (dynamická velikost)

Podporuje pouze primitivní datový typ

Může do seznamu přidat jiný objekt a data

Nepodporuje duplicitní přidání

Umožňuje přidání duplicitních prvků

Může se pohybovat pouze dopředu

Může se pohybovat dopředu i dozadu

Velikost nelze dynamicky měnit

Velikost lze dynamicky měnit


Doufám, že vás rozdíl vyjasní, pojďme se podívat a jak třídit .

Třídit ArrayList v Javě (String)

Třídění ArrayList v Javě lze snadno provést pomocí jednoduchého metoda sort () . Níže uvedený kód seřadí ArrayList v Javě.

balíček Edureka import java.util.Arrays import java.util.Collections import java.util. * public class sortingarraylist {public static void main (String args []) {ArrayList list = new ArrayList () // Populate the ArrayList list.add ('sorting') list.add ('java') list.add ('arraylist') list.add ('in') System.out.println ('Unsorted ArrayList:' + list) // tištěné netříděné sbírky arraylistů. sort (list) // metoda řazení pro vzestupné pořadí System.out.println ('Sorted ArrayList' + 've vzestupném pořadí:' + seznam) // tisk seřazeného arraylistu}}

Výstup -

Unsorted ArrayList: [sorting, java, arraylist, in]
Seřazený ArrayList ve vzestupném pořadí: [arraylist, in, java, sorting]

Pokračujeme v třídění v článku o Javě a podívejme se, jak můžete třídit celá čísla. Zkusme implementovat řazení pomocí jiné metody, tj. Pomocí metody Collections.sort ().

Řazení ArrayList v Javě pomocí sbírek (celá čísla)

Integer ArrayList můžete řadit pomocí metody Collections.sort ().

balíček Edureka import java.util.Arrays import java.util.Collections import java.util. * veřejná třída SortingArrayList {public static void main (String args []) {ArrayList arraylist = new ArrayList () arraylist.add (48) arraylist. add (2) arraylist.add (19) arraylist.add (22) System.out.println ('Before Sorting:') // before sorting for (int counter: arraylist) {System.out.println (counter)} Collections .sort (arraylist) // funkce pro třídění ve vzestupném pořadí System.out.println ('After Sorting:') // po řazení pro (int counter: arraylist) {System.out.println (counter)}}}

Výstup -
Před tříděním:
48
2
19
22
Po třídění:
2
19
22
48

Řazení řetězce v Javě

Řetězec v Javě je neměnný. Neexistuje žádná přímá metoda pro třídění a . Můžete použít pole, která má metodu CharArray (), která vytvoří vstupní řetězec char, a pomocí jiné metody (Arrays.sort (char c []) můžeme snadno třídit.

balíček Edureka import java.util.Arrays import java.util.Collections import java.util. * veřejná třída SortingString {public static String sortString (String inputString) {char Array1 [] = inputString.toCharArray () // převod vstupního řetězce na char pole Arrays.sort (Array1) vrátit nový String (Array1) // vrátit seřazený řetězec} public static void main (String [] args) {String inputString = 'Edureka' String outputString = sortString (inputString) System.out.println (' Vstupní řetězec: '+ inputString) System.out.println (' Výstupní řetězec: '+ outputString)}}

Výstup -
Vstupní řetězec: Edureka
Výstupní řetězec: Eadekru

Třídit seznam v Javě

Seřadit seznam , můžete použít metodu Collections.sort (). Další porozumění najdete v následujícím kódu:

balíček Edureka import java.util.Arrays import java.util.Collections import java.util. * veřejná třída SortingList {public static void main (String [] args) {Integer [] digits = new Integer [] {12,56,89 , 27,22,4,88,65,36} Seznam digitsList = Arrays.asList (číslice) Collections.sort (digitsList) // seřazený seznam System.out.println ('Řazený řetězec:' + digitsList)}}

Výstup : Řazený řetězec: [4, 12, 22, 27, 36, 56, 65, 88, 89]

Řazení mapy v Javě

Mapa v Javě patří který obsahuje pár klíč – hodnota. Mapu lze proto třídit dvěma různými způsoby:

  • Seřadit podle klíče
  • Seřadit podle hodnoty

Řadit podle klíče:

balíček Edureka import java.util.Arrays import java.util.Collections import java.util. * veřejná třída 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 = nový TreeMap (mapa) System.out.println (treeMap)}}

Výstup: {2 = Rachit, 5 = Anamika, 14 = Aayushi, 30 = Amit}

Seřadit podle hodnoty:

balíček Edureka import java.util.Arrays import java.util.Collections import java.util. * veřejná třída 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 tříděnýMap = nový LinkedHashMap () unSortedMap.entrySet () .stream () .sorted (Map.Entry.comparingByValue ()) .forEachOrdered (x -> tříděnýMap.výstup (x.getKey (), x.getValue ())) System.out.println (tříděnýMap)}}

co znamená jmenný prostor v C ++

Výstup: {14 = Aayushi, 60 = Amit, 70 = Anamika, 20 = Rachit}

Pokračujeme v třídění v Javě, pojďme se podívat na poslední téma, tj. Seřadit Set in .

Set Set in Java

Sada v Javě je rozhraní, které rozšiřuje sbírky. Jedná se o neuspořádanou kolekci objektů, která neukládá duplicitní hodnoty. Nyní neexistuje žádná přímá metoda třídění sady v Javě. Chcete-li setřídit sadu, musíte sadu převést na seznam a poté použít API kolekce.sort () a znovu převést seznam zpět na sadu. Další porozumění najdete v níže uvedeném kódu:

balíček Edureka import java.util.Arrays import java.util.Collections import java.util. * veřejná třída SortSet {public static void main (String [] args) {// Netříděný seznam HashSet numbersSet = nový 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) // převést seznam na sadu // Tisknout sadu pro potvrzení System.out.println (numbersSet)}}

Výstup : [4, 12, 22, 27, 36, 56, 65, 88, 89]

Tím se dostáváme na konec našeho blogu o třídění v Javě, kde jste se naučili řadit Array, ArrayList, String, Map a Set v Javě. Doufám, že jste našli tento blog poučný a přidanou hodnotu pro vaše znalosti.

Ujistěte se, že cvičíte co nejvíce a vraťte své zkušenosti.

Podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Školicí a certifikační kurz Edureka Java J2EE a SOA je určen pro studenty a profesionály, kteří chtějí být vývojářem Java. Kurz je navržen tak, aby vám poskytl náskok v programování v Javě a naučil vás základní i pokročilé koncepty Javy spolu s různými jávskými rámci, jako je Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto „Řazení v Javě: Array, ArrayList, String, Map a Set in Java“ a my se vám ozveme co nejdříve.