how sort an array java tutorial with examples
Този урок ще обясни различни методи за сортиране на масив в Java във възходящ, низходящ и азбучен ред с помощта на прости примери:
Сортирането подрежда данните в определен ред. Компютърните данни се състоят от записи, съставени от едно или повече полета. За да използвате данните ефективно и да извършвате различни операции като търсене, достъп и т.н., препоръчително е тези данни да бъдат подредени в някакъв специфичен ред.
Например, ако има многобройни записи на студентски данни, ние бихме могли да ги подредим в зависимост от студентския идентификатор или името на студента. Това се нарича сортиране. Следователно сортирането е от съществено значение, за да се използват данните по-ефективно и лесно.
=> Посетете серията уроци за обучение по Java тук
В Java масивите съдържат данни и ние трябва да ги сортираме, за да ги подредим според някои предоставени критерии. В този урок ще обсъдим подробно сортирането на масиви, заедно с прости примери.
Какво ще научите:
Как да сортираме масив в Java
Java предоставя следните методи за сортиране на масивите.
- Използване на цикли: Можете да използвате за цикли, за да прекосите масива и да сравните съседни елементи, докато обхождате и ги подреждате.
- Използване на метода на сортиране: Класът Arrays на пакета ‘java.util’ осигурява метода на сортиране, който приема масив като аргумент и сортира масива. Това е метод на директно сортиране и можете да сортирате масив само с едно извикване на метод.
Нека разгледаме подробно и двата метода.
Използване на цикли
Можете да сортирате масива, като използвате ръчно сортиране, като например за цикли. Това, което можете да направите, е да използвате две за цикли, едната за пресичане на масива от началния и друга за цикъл във външната за преминаване на следващия елемент.
В тялото сравнявате съседните елементи и ги сменяте, ако не са в ред. Можете да използвате временна променлива за размяната на елементи.
Програмата по-долу показва този подход.
public class Main { public static void main(String() args) { //define original array int () intArray = new int () {52,45,32,64,12,87,78,98,23,7}; int temp = 0; //print original array System.out.println('Original array: '); for (int i = 0; i Изход:

Сортирането с помощта на цикъл for може да бъде ефективно, когато са включени по-малки масиви. Може да се усложни, когато размерът на масива се увеличи.
Метод на сортиране
Методът за сортиране, предоставен от класа ‘java.util.Arrays’, е много прост и бърз начин за сортиране на масив. Този метод може да сортира елементи от примитивни типове, както и обекти, които прилагат сравним интерфейс.
Когато се сортират елементите на примитивния тип, методът на сортиране използва бързо сортиране. Когато обектите се сортират, се използва итеративно сливане.
Основният прототип на метода на сортиране е както следва:
Arrays.sort (T() t_arr);
Тук T () е типът данни, а t_arr е масивът, който трябва да бъде сортиран.
Горният прототип работи за масиви, изпълняващи сравним интерфейс.
За масиви от персонализирани обекти можете да използвате друг вариант на Arrays.sort, както е дадено по-долу .
Arrays.sort(T() t_arr, Comparator.c);
Така че за масивите, които не изпълняват сравним интерфейс, трябва да се подаде сравнител във функцията за сортиране. Имайте предвид, че по подразбиране методът за сортиране сортира масива във възходящ ред.
Нека да видим някои конкретни примери за сортиране на масиви.
Сортирайте числов масив във възходящ ред
Първата демонстрация е сортиране на масив от числа във възходящ ред с помощта на методи за сортиране. Както вече споменахме, по подразбиране методът за сортиране сортира масива във възходящ ред. По този начин, за да сортирате числов масив във възходящ ред, просто трябва да извикате метода на въпросния масив.
Даден по-долу е пример за показване на това.
qa въпроси за тестово интервю и отговори за опитни
import java.util.Arrays; public class Main { public static void main(String() args) { //define an array int() intArray = {52, 45, 32, 64, 12, 87, 78, 98, 23, 7}; System.out.printf('Original Array : %s', Arrays.toString(intArray)); Arrays.sort(intArray); System.out.printf('
Sorted Array : %s', Arrays.toString(intArray)); } }
Изход:

В горната програма само едно извикване на функция сортира масива във възходящ ред.
Сортирайте числов масив в низходящ ред
Следващата задача е да сортирате числовия масив в низходящ ред. За целта методът за сортиране е снабден с втори аргумент ‘Collections.reverseOrder ()’, който сортира масив в низходящ ред.
Програма за сортиране на масив в низходящ ред е дадена по-долу.
import java.util.Arrays; import java.util.Collections; public class Main { public static void main(String() args) { //Collections.reverseOrder do not work for primitive Types //define an array with Integer Integer() IntArray = {52, 45, 32, 64, 12, 87, 78, 98, 23, 7}; //print original array System.out.printf('Original Array: %s', Arrays.toString(IntArray)); // Sorts IntArray in descending order Arrays.sort(IntArray, Collections.reverseOrder()); //print sorted array System.out.printf('
Sorted Array: %s', Arrays.toString(IntArray)); } }
Изход:

Сортиране на масив от низове по азбучен ред
Подобно на числовите масиви, можете също да сортирате масив от низове, като използвате функцията за сортиране. Когато предадете масива от низове, масивът се сортира във възходящ азбучен ред. За да сортирате масива в низходящ азбучен ред, трябва да предоставите метода на интерфейса на колекциите reverseOrder () като втори аргумент.
Следващата програма демонстрира сортирането на масив от низове във възходящ и низходящ ред.
import java.util.Arrays; import java.util.Collections; public class Main { public static void main(String() args) { String str_Array() = {'Java', 'Python', 'Perl', 'C++', 'C#', 'AS400'}; System.out.printf('Original Array:
%s
', Arrays.toString(str_Array)); // Sorts str_Array in ascending order Arrays.sort(str_Array); System.out.printf('Array sorted in ascending order:
%s
', Arrays.toString(str_Array)); // Sorts str_Array in descending order Arrays.sort(str_Array, Collections.reverseOrder()); System.out.printf('Array sorted in descending order :
%s
', Arrays.toString(str_Array)); } }
Изход:

Резултатът от програмата показва сортиран масив от низове както във възходящ, така и в низходящ ред.
често задавани въпроси
В # 1) Какво е сортиране в Java?
Отговор: Сортирането се отнася до подреждане на данни по азбучен или цифров ред.
В # 2) Коя техника за сортиране се използва при сортирането на масиви в Java?
Отговор: Масивите използват двойна ос Quicksort за примитивни типове данни и Mergesort за сортиране на обекти.
В # 3) Какво е сравнител в Java?
Отговор: Интерфейсът за сравнение е част от пакета java.util и се използва за подреждане на дефинираните от потребителя обекти. Интерфейсът за сравнение се използва най-вече по време на сортирането на обекти, използвайки метода на сортиране.
В # 4) Каква е ползата от сортирането в Java?
Отговор: Сортирането е техника за подреждане на данни в определен ред. Сортирането на данни е полезно, тъй като можем да търсим данни по-ефективно и бързо. Също така можем лесно да извършваме други операции като достъп, съхранение и др. Върху поръчаните данни.
В # 5) Възможно ли е сортиране на списъци в Java?
Отговор: Да. Списъците са част от интерфейса на Collections в Java и можем да използваме метода sort () на интерфейса на Collections, за да сортираме списъка.
Заключение
Това завършва нашата дискусия за сортирането на масиви в Java. Обсъдихме различните методи за сортиране на масиви в Java, включително тези, предоставени от Java пакети, както и традиционния метод за използване на цикли „за“ за сортиране на елементи от масив един по един.
Видяхме как да сортираме масив във възходящ и низходящ ред. След това научихме как да сортираме масив от низове по азбучен ред.
Ще продължим да изследваме повече теми за масивите в Java в следващите ни уроци.
=> Вижте Пълните уроци за Java за всички тук
Препоръчително четене
- Урок за дължина на масив Java с примери за кодове
- Обръщане на масив в Java - 3 метода с примери
- Урок за JAVA за начинаещи: 100+ практически ръководства за Java видео
- Урок за отражение на Java с примери
- Java Generic Array - Как да симулираме Generic Array в Java?
- Java 'this' Ключова дума: Урок с примери за кодове
- Как да предадете / върнете масив в Java
- Java Array - Как да отпечатвате елементи от масив в Java?