how sort an array java tutorial with examples
Цей підручник пояснить різні методи сортування масиву на Java за зростанням, спаданням та алфавітом за допомогою простих прикладів:
Сортування впорядковує дані в певному порядку. Комп’ютерні дані складаються із записів, що складаються з одного або декількох полів. Щоб ефективно використовувати дані та виконувати різні операції, такі як пошук, доступ тощо, бажано, щоб ці дані були розташовані в певному порядку.
Наприклад, якщо є численні записи студентських даних, ми могли б упорядкувати ці дані залежно від ідентифікатора студента або імені студента. Це називається сортуванням. Отже, сортування має важливе значення для більш ефективного та легшого використання даних.
=> Відвідайте серію навчальних посібників Java тут
У Java масиви містять дані, і ми повинні сортувати ці дані, щоб упорядкувати їх відповідно до деяких наданих критеріїв. У цьому підручнику ми детально обговоримо сортування масивів разом із простими прикладами.
Що ви дізнаєтесь:
Як сортувати масив на Java
Java забезпечує такі методи сортування масивів.
- Використання для циклів: Цикли можна використовувати для обходу масиву та порівняння сусідніх елементів під час обходу та упорядкування їх.
- Використання методу сортування: Клас Arrays пакета «java.util» забезпечує метод сортування, який приймає масив як аргумент і сортує масив. Це метод прямого сортування, і ви можете сортувати масив лише за допомогою одного виклику методу.
Давайте детально вивчимо обидва ці методи.
Використання петель
Ви можете сортувати масив за допомогою ручного сортування, як для циклів for. Що ви можете зробити, це використовувати два цикли for, один для обходу масиву від початкового, а інший для циклу всередині зовнішнього для обходу наступного елемента.
У тілі ви порівнюєте сусідні елементи та міняєте місцями місцями, якщо вони не в порядку. Ви можете використовувати тимчасову змінну для обміну елементами.
Програма нижче демонструє цей підхід.
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);
Отже, для масивів, які не реалізують порівнянний інтерфейс, у функцію сортування слід передавати компаратор. Зверніть увагу, що за замовчуванням метод сортування сортує масив за зростанням.
Давайте побачимо деякі конкретні приклади сортування масивів.
Сортувати числовий масив за зростанням
Перша демонстрація - сортування масиву чисел у порядку зростання за допомогою методів сортування. Як уже зазначалося, за замовчуванням метод сортування сортує масив у порядку зростання. Таким чином, щоб відсортувати числовий масив у порядку зростання, вам просто потрібно викликати метод для відповідного масиву.
Нижче наведено приклад, щоб показати це.
завантаження програмного забезпечення з будь-якого сайту
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)); } }
Вихід:

Результат роботи програми відображає відсортований масив рядків як за зростанням, так і за спаданням.
Часті запитання
Q # 1) Що таке сортування в Java?
Відповідь: Сортування відноситься до впорядкування даних за алфавітом чи числом.
Q # 2) Який метод сортування використовується у сортуванні масивів у Java?
Відповідь: Масиви використовують двоповоротну Quicksort для примітивних типів даних та Mergesort для сортування об’єктів.
Запитання №3) Що таке порівняльник у Java?
Відповідь: Інтерфейс порівняння є частиною пакету java.util і використовується для впорядкування визначених користувачем об'єктів. Інтерфейс порівняння в основному використовується під час сортування об'єктів за допомогою методу сортування.
Q # 4) Яка користь від сортування в Java?
Відповідь: Сортування - це техніка впорядкування даних у певному порядку. Сортування даних корисно, оскільки ми можемо шукати дані ефективніше та швидше. Ми також можемо легко виконувати інші операції, такі як доступ, зберігання тощо над упорядкованими даними.
Q # 5) Чи можна сортувати списки на Java?
Відповідь: Так. Списки є частиною інтерфейсу Collections на Java, і ми можемо використовувати метод sort () інтерфейсу Collections для сортування списку.
Висновок
На цьому наша дискусія щодо сортування масивів на Java завершується. Ми обговорили різні методи сортування масивів на Java, включаючи ті, що надаються пакетами Java, а також традиційний метод використання циклів 'for' для сортування елементів масиву по одному.
Ми бачили, як сортувати масив за зростанням та за спаданням. Потім ми дізналися, як сортувати масив рядків в алфавітному порядку.
Ми продовжимо вивчати більше тем щодо масивів на Java у наступних навчальних посібниках.
=> Див. Повні підручники Java для всіх тут
Рекомендована література
- Підручник з довжини масиву Java із прикладами коду
- Зворотній масив у Java - 3 методи з прикладами
- Підручник JAVA для початківців: 100+ практичних відео-підручників Java
- Підручник з роздумів про Java з прикладами
- Загальний масив Java - Як імітувати загальні масиви в Java?
- Ключове слово Java 'this': Підручник із прикладами коду
- Як передати / повернути масив на Java
- Java Array - Як надрукувати елементи масиву в Java?