Сортирането е съществена част от всеки език за програмиране. Java, без съмнение е един от най-добрите езици за програмиране. Той има различни функции, които го правят лесно! Тази статия ще ви помогне да разгърнете всичко за сортирането особено сортирайте Array, ArrayList, String, List, Map и Set в Java.
По-долу са разгледани темите в тази статия за сортиране:
- Сортирай масива в Java
- Array срещу ArrayList
- Сортирай ArrayList
- Сортирай низ
- Сортиране на списък
- Сортиране на карта
- Сортиране на набор в 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“ и ние ще се свържем с вас възможно най-скоро.