Java sort () -menetelmä

Java-kokoelmakehys tarjoaa staattisen menetelmän lajittelun (), jota voidaan käyttää kokoelman elementtien lajittelussa.

sort()Menetelmä kokoelmien puitteissa käyttää lomituslajittelu algoritmi lajitella elementtejä kokoelma.

Yhdistämisen lajittelualgoritmi perustuu jakamis- ja valloittamissääntöihin. Lisätietoja yhdistämislajittelusta on kohdassa Yhdistä lajittelualgoritmi.

Otetaan esimerkki sort()menetelmästä.

Esimerkki: Lajittelu nousevassa järjestyksessä

 import java.util.ArrayList; import java.util.Collections; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(4); numbers.add(2); numbers.add(3); System.out.println("Unsorted ArrayList: " + numbers); // Using the sort() method Collections.sort(numbers); System.out.println("Sorted ArrayList: " + numbers); ) ) 

Tuotos

 Lajittelematon taulukko: (4, 2, 3) Lajiteltu: (2, 3, 4) 

Kuten näette, lajittelu tapahtuu oletusarvoisesti luonnollisessa järjestyksessä (nousevassa järjestyksessä). Voimme kuitenkin mukauttaa sort()menetelmän lajittelujärjestystä .

Räätälöity lajittelujärjestys

Java-tilassa sort()menetelmä voidaan räätälöidä suorittamaan lajittelu käänteisessä järjestyksessä Comparatorkäyttöliittymän avulla.

Esimerkki: Lajittelu laskevassa järjestyksessä

 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(4); numbers.add(2); numbers.add(3); System.out.println("Unsorted ArrayList: " + numbers); // Using the sort() method Collections.sort(numbers); System.out.println("Natural Sorting: " + numbers); // Using the customized sort() method Collections.sort(numbers, new CustomComparator()); System.out.println("Customized Sorting: " + numbers); ) ) class CustomComparator implements Comparator ( @Override public int compare(Integer animal1, Integer animal2) ( int value = animal1.compareTo(animal2); // elements are sorted in reverse order if (value> 0) ( return -1; ) else if (value < 0) ( return 1; ) else ( return 0; ) ) ) 

Tuotos

 Lajittelematon taulukko: (4, 2, 3) Luonnollinen lajittelu: (2, 3, 4) Mukautettu lajittelu: (4, 3, 2) 

Yllä olevassa esimerkissä olemme käyttäneet sort()menetelmää CustomComparatorin kanssa argumenttina.

Tässä CustomComparator on luokka, joka toteuttaa Comparatorkäyttöliittymän. Lisätietoja Java Comparator -käyttöliittymästä.

Sitten ohitamme compare()menetelmän. Menetelmä lajittelee nyt elementit päinvastaisessa järjestyksessä.

Mielenkiintoisia artikkeleita...