Как да сортираме Array, ArrayList, String, List, Map и Set в Java?



Тази статия се фокусира върху сортирането в Java. Тук ще научите как да сортирате Array, ArrayList, String, List, Map и Set в Java.

Сортирането е съществена част от всеки език за програмиране. Java, без съмнение е един от най-добрите езици за програмиране. Той има различни функции, които го правят лесно! Тази статия ще ви помогне да разгърнете всичко за сортирането особено сортирайте Array, ArrayList, String, List, Map и Set в Java.

По-долу са разгледани темите в тази статия за сортиране:





Нека да започнем. :-)

Сортирай масива в Java

Масиви в Java съхранява една или повече стойности от определен тип данни и осигурява индексиран достъп за съхраняване на същите в една променлива. Нека разгледаме програмата по-долу за сортиране на масив в Java във възходящ ред. Уверете се обаче, че имате Java инсталирана .



Сортиране на масив в Java - Възходящ ред

пакет Edureka импортиране java.util.Arrays публичен клас SortArray {публична статична невалидна основна (String [] аргументи) {int [] arr = {52,12,2,72,4} // масив от 5 елемента Arrays.sort (arr ) System.out.printf ('Сортиран arr [] =% s', Arrays.toString (arr))}}

Изход - Сортиран arr [] = [2, 4, 12, 52, 72]

Сортиране на масив в Java - низходящ ред

пакет 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} // използвано Integer [ ] вместо int като колекции Arrays.sort (arr, Collections.reverseOrder ()) // reverseorder () за низходящ ред System.out.printf ('Сортиран arr [] =% s', Arrays.toString (arr))} }

Изход: Сортиран arr [] = [72, 52, 12, 4, 2]

Забележка: В горния код използвах масив Integer [] вместо int заради . Това е така, защото reverseOrder () не поддържа примитивни типове.



Много хора бъркат с концепцията за масиви и ArrayList в Java. По-долу таблицата може да изчисти всичките ви съмнения.

Масив ArrayList

Той е с фиксирана дължина

Той е с променлива дължина (динамичен размер)

Поддържа само примитивен тип данни

Може да добавя различни обекти и данни в списъка

Не поддържа дублирано добавяне

Позволява добавяне на дублиращи се елементи

Може да се движи само в посока напред

Може да се движи в посока напред и назад

Размерът не може да се променя динамично

Размерът може да се променя динамично


Надявам се, че сте изчистени от разликата, нека продължим напред и да видим как да сортирате .

Сортиране на ArrayList в Java (низ)

Сортирането на ArrayList в Java може лесно да се направи с помощта на проста метод sort () . Вижте кода по-долу, за да сортирате ArrayList в Java.

пакет 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 () // Попълнете списъка ArrayList.add ('сортиране') list.add ('java') list.add ('arraylist') list.add ('in') System.out.println ('Unsorted ArrayList:' + list) // отпечатани несортирани колекции от паралели. sort (list) // метод за сортиране за възходящ ред System.out.println ('Sorted ArrayList' + 'във Възходящ ред:' + list) // print sorted arraylist}}

Изход -

Несортиран ArrayList: [сортиране, java, arraylist, в]
Сортиран ArrayList във възходящ ред: [arraylist, in, java, сортиране]

Продължавайки със сортирането в статия за Java, нека видим как можете да сортирате цели числа. Нека се опитаме да приложим сортиране, използвайки различен метод, т.е. използвайки метода Collections.sort ().

Сортиране на ArrayList в Java с помощта на колекции (цели числа)

Можете да сортирате Integer ArrayList чрез метода Collections.sort ().

пакет Edureka import java.util.Arrays import java.util.Collections import java.util. * public class 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 ('Преди сортиране:') // преди сортиране за (int брояч: arraylist) {System.out.println (counter)} Колекции .sort (arraylist) // функция за сортиране във възходящ ред System.out.println ('След сортиране:') // след сортиране за (int брояч: arraylist) {System.out.println (брояч)}}}

Изход -
Преди сортиране:
48
2
19.
22.
След сортиране:
2
19.
22.
48

Сортирай низ в Java

String в Java е неизменим. Няма директен метод за сортиране на . Можете да използвате Arrays, който има метод CharArray (), който ще създаде въвеждащ низ char и използвайки друг метод (Arrays.sort (char c [])), можем лесно да сортираме.

пакет 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 () // преобразуване на входния низ в char масив Arrays.sort (Array1) връща нов String (Array1) // връща сортиран низ} public static void main (String [] args) {String inputString = 'Edureka' String outputString = sortString (inputString) System.out.println (' Входен низ: '+ inputString) System.out.println (' Изходен низ: '+ outputString)}}

Изход -
Входен низ: Edureka
Изходен низ: Eadekru

Сортиране на списък в Java

За да сортирате списък в , можете да използвате метода Collections.sort (). Вижте следния код за повече разбиране:

пакет Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingList {public static void main (String [] args) {Integer [] digits = new Integer [] {12,56,89 , 27,22,4,88,65,36} Списък digitsList = Arrays.asList (цифри) Collections.sort (digitsList) // сортиран списък System.out.println ('Сортиран низ:' + digitsList)}}

Изход : Сортиран низ: [4, 12, 22, 27, 36, 56, 65, 88, 89]

Сортиране на карта в Java

Карта в Java принадлежи който съдържа двойка ключ-стойност. Следователно карта може да бъде сортирана по два различни начина:

goto функция c ++
  • Сортирай по ключ
  • Сортирай по стойност

Сортирай по ключ:

пакет Edureka import java.util.Arrays import java.util.Collections import java.util. * public class 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 = ново TreeMap (map) System.out.println (treeMap)}}

Изход: {2 = Rachit, 5 = Anamika, 14 = Aayushi, 30 = Amit}

Сортирай по стойност:

пакет 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 sortedMap = new LinkedHashMap () unSortedMap.entrySet () .sorted (). (Map.Entry.comparingByValue ()) .forEachOrdered (x -> sortedMap.put (x.getKey (), x.getValue ())) System.out.println (sortedMap)}}

Изход: {14 = Aayushi, 60 = Amit, 70 = Anamika, 20 = Rachit}

Продължавайки със сортирането в Java, нека вземем последната тема, т.е. сортиране на Set in .

Сортиране в Java

Set in Java е интерфейс, който разширява колекциите. Това е неподредена колекция от обекти, която не съхранява дублирани стойности. Сега няма директен метод за сортиране на Set в Java. Сега, за да сортирате набор, трябва да конвертирате набор в List и след това да използвате API collection.sort () и отново да конвертирате обратно списъка в набор. Вижте кода по-долу за повече разбиране:

пакет Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortSet {public static void main (String [] args) {// Несортиран списък HashSet numbersSet = new LinkedHashSet (Arrays.asList (12 , 56,89,27,22,4,88,65,36)) Списък numbersList = нов ArrayList (numbersSet) // преобразуване на набор в списък // Сортиране на списъка Collections.sort (numbersList) numbersSet = нов LinkedHashSet (numbersList) // конвертиране на списък в набор // Печат за потвърждение System.out.println (numbersSet)}}

Изход : [4, 12, 22, 27, 36, 56, 65, 88, 89]

Това ни води до края на нашия блог за сортиране в Java, където сте научили как да сортирате Array, ArrayList, String, Map и Set в Java. Надявам се, че този блог е информативен и добавя стойност към вашите познания.

Уверете се, че практикувате възможно най-много и връщате опита си.

Вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основни, така и за разширени Java концепции, заедно с различни Java рамки като Hibernate & Spring.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на това „Сортиране в Java: Array, ArrayList, String, Map и Set в Java“ и ние ще се свържем с вас възможно най-скоро.