Клас масивів це клас, що містить статичні методи, які використовуються з масивами для пошуку, сортування, порівняння, вставки елементів або повернення рядкового представлення масиву. Отже, давайте спершу визначимо функції, а потім обговоримо їх. Вони присутні в java.util.Arrays клас. Тут ми обговоримо різні сюжети за допомогою метод sort() класу Arrays .
Метод Arrays.sort() складається з двох варіантів, у одному з яких ми не передаємо жодних аргументів, де він сортує повний масив, будь то цілий чи символьний масив, але якщо ми маємо сортувати певну частину за допомогою цього методу класу Arrays, тоді ми перевантажуємо його та передаємо початковий і останній індекс до масиву.
Синтаксис: метод sort().
Arrays.sort();>
Синтаксис: Перевантажений метод sort().
public static void sort(int[] arr, int from_Index, int to_Index) ;>
Параметри: Він приймає три параметри, як можна зрозуміти з синтаксису, який виглядає наступним чином:
- Масив для сортування
- Індекс першого елемента, включно, для сортування (називається from_index)
- Індекс останнього ексклюзивного елемента, який потрібно відсортувати (називається last_index)
Тип повернення: ТО
Аналіз складності:
Часова складність: O(N log N)
Допоміжний простір: О(1)
Тепер розглянемо реалізацію функції sort() у різних сценаріях класу Arrays таким чином:
Приклад 1:
Java
import> java.util.Arrays;> class> GFG {> >public> static> void> main(String args[])> >{> >int>[] arr = {>5>, ->2>,>23>,>7>,>87>, ->42>,>509> };> >System.out.println(>'The original array is: '>);> >for> (>int> num : arr) {> >System.out.print(num +>' '>);> >}> >Arrays.sort(arr);> >System.out.println(>'
The sorted array is: '>);> >for> (>int> num : arr) {> >System.out.print(num +>' '>);> >}> >}> }> |
>
>Вихід
The original array is: 5 -2 23 7 87 -42 509 The sorted array is: -42 -2 5 7 23 87 509>
Часова складність: O(nlog(n)) як складність arrays.sort()
Допоміжний простір: О(1)
приклад 2:
Java
// Java Program to Sort Array of Integers> // by Default Sorts in an Ascending Order> // using Arrays.sort() Method> // Importing Arrays class from the utility class> import> java.util.Arrays;> // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Custom input array> >int>[] arr = {>13>,>7>,>6>,>45>,>21>,>9>,>101>,>102> };> >// Applying sort() method over to above array> >// by passing the array as an argument> >Arrays.sort(arr);> >// Printing the array after sorting> >System.out.println(>'Modified arr[] : '> >+ Arrays.toString(arr));> >}> }> |
>
>
як перетворити ціле число на рядок у javaВихід
Modified arr[] : [6, 7, 9, 13, 21, 45, 101, 102]>
Складність вищеописаного способу:
Часова складність: O(N log N)
Допоміжний простір: О(1)
приклад 3:
Java
каталог перейменувати linux
// Java program to Sort a Subarray in Array> // Using Arrays.sort() method> // Importing Arrays class from java.util package> import> java.util.Arrays;> // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Custom input array> >// It contains 8 elements as follows> >int>[] arr = {>13>,>7>,>6>,>45>,>21>,>9>,>2>,>100> };> >// Sort subarray from index 1 to 4, i.e.,> >// only sort subarray {7, 6, 45, 21} and> >// keep other elements as it is.> >Arrays.sort(arr,>1>,>5>);> >// Printing the updated array which is> >// sorted after 2 index inclusive till 5th index> >System.out.println(>'Modified arr[] : '> >+ Arrays.toString(arr));> >}> }> |
>
>Вихід
Modified arr[] : [13, 6, 7, 21, 45, 9, 2, 100]>
Складність вищеописаного способу:
Часова складність: O(nlog(n)) як складність arrays.sort()
Допоміжний простір: О(1)
Приклад 4:
Java
// Java program to Sort a Subarray in Descending order> // Using Arrays.sort()> // Importing Collections class and arrays classes> // from java.util package> import> java.util.Arrays;> import> java.util.Collections;> // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Note that we have Integer here instead of> >// int[] as Collections.reverseOrder doesn't> >// work for primitive types.> >Integer[] arr = {>13>,>7>,>6>,>45>,>21>,>9>,>2>,>100> };> >// Sorts arr[] in descending order using> >// reverseOrder() method of Collections class> >// in Array.sort() as an argument to it> >Arrays.sort(arr, Collections.reverseOrder());> >// Printing the array as generated above> >System.out.println(>'Modified arr[] : '> >+ Arrays.toString(arr));> >}> }> |
>
>Вихід
Modified arr[] : [100, 45, 21, 13, 9, 7, 6, 2]>
Складність вищеописаного способу:
Часова складність: O(nlog(n)) як складність arrays.sort()
Допоміжний простір: О(1)
Приклад 5:
Java
// Java program to sort an array of strings> // in ascending and descending alphabetical order> // Using Arrays.sort()> // Importing arrays and Collections class> // from java.util class> import> java.util.Arrays;> import> java.util.Collections;> // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Custom input string> >String arr[] = {>'practice .techcodeview.com>,> >'www .techcodeview.com>,> >'code .techcodeview.com> };> >// Sorts arr[] in ascending order> >Arrays.sort(arr);> >System.out.println(>'Modified arr[] : '> >+ Arrays.toString(arr));> >// Sorts arr[] in descending order> >Arrays.sort(arr, Collections.reverseOrder());> >// Lastly printing the above array> >System.out.println(>'Modified arr[] :'> >+ Arrays.toString(arr));> >}> }> |
>
>Вихід
Modified arr[] : Modified arr[] :[www.techcodeview.com, practice.techcodeview.com, code.techcodeview.com]>
Складність вищеописаного способу:
Часова складність: O(nlog(n)) як складність arrays.sort()
Допоміжний простір: О(1)
Тепер, нарешті, ми повністю реалізуємо метод sort(), тому що тут ми оголошуватимемо власні визначені критерії за допомогою Інтерфейс компаратора .
Приклад 6:
Java
// Java program to demonstrate Working of> // Comparator interface> // Importing required classes> import> java.io.*;> import> java.lang.*;> import> java.util.*;> // Class 1> // A class to represent a student.> class> Student {> >int> rollno;> >String name, address;> >// Constructor> >public> Student(>int> rollno, String name, String address)> >{> >// This keyword refers to current object itself> >this>.rollno = rollno;> >this>.name = name;> >this>.address = address;> >}> >// Used to print student details in main()> >public> String toString()> >{> >return> this>.rollno +>' '> +>this>.name +>' '> >+>this>.address;> >}> }> // Class 2> // Helper class extending Comparator interface> class> Sortbyroll>implements> Comparator {> >// Used for sorting in ascending order of> >// roll number> >public> int> compare(Student a, Student b)> >{> >return> a.rollno - b.rollno;> >}> }> // Class 3> // Main class> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >Student[] arr> >= {>new> Student(>111>,>'bbbb'>,>'london'>),> >new> Student(>131>,>'aaaa'>,>'nyc'>),> >new> Student(>121>,>'cccc'>,>'jaipur'>) };> >System.out.println(>'Unsorted'>);> >for> (>int> i =>0>; i System.out.println(arr[i]); // Sorting on basic as per class 1 created // (user-defined) Arrays.sort(arr, new Sortbyroll()); System.out.println('
Sorted by rollno'); for (int i = 0; i System.out.println(arr[i]); } }> |
>
>Вихід
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 121 cccc jaipur 131 aaaa nyc>
Складність вищеописаного способу:
Часова складність: O(nlog(n)) як складність arrays.sort()
Допоміжний простір: О(1)
Пам'ятайте: Існує невелика різниця між Arrays.sort() і Collections.sort() . Arrays.sort() працює для масивів, які також можуть мати простий тип даних. Колекції .sort() працює для таких об’єктів, як колекції ArrayList , LinkedList і т.д.
Використовуючи метод зворотного порядку: Цей метод відсортує масив за спаданням. У класі колекцій Java також надається reverseOrder() метод сортування масиву у зворотному лексикографічному порядку. Він не аналізує жодного параметра, тому що метод статичний, тому ми можемо викликати його безпосередньо, використовуючи назву класу. він сортуватиме масиви в порядку зростання за допомогою методу sort(), після чого метод зворотного порядку() дасть нам природний порядок, і ми отримаємо відсортований масив у порядку спадання.
Синтаксис:
Arrays.sort(a, Collections.reverseOrder());>
Приклад 7:
Java
// This will sort the array in the descending order> /*package whatever //do not write package name here */> import> java.util.Arrays;> import> java.util.Collections;> public> class> GFG {> >public> static> void> main(String[] args)> >{> >Integer[] array> >= {>99>,>12>, ->8>,>12>,>34>,>110>,>0>,>121>,>66>, ->110> };> >Arrays.sort(array, Collections.reverseOrder());> >System.out.println(> >'Array in descending order: '> >+ Arrays.toString(array));> >}> }> |
машинне навчання та типи
>
>Вихід
Array in descending order: [121, 110, 99, 66, 34, 12, 12, 0, -8, -110]>
Складність вищеописаного способу:
Часова складність: O(nlog(n)) як складність arrays.sort()
Допоміжний простір: О(1)