Penyortiran di Java: Panduan Lengkap – Codewithaden

Untuk mengurutkan array objek/tipe data primitif, Java mendefinisikan metode Arrays.sort (). Ketika bekerja di Daftar Koleksi di Java (seperti LinkedList , Antre , Daftar Array , dll.), kami memiliki metode Collections.sort ().

Kedua metode mengurutkan objek dalam urutan naik secara default. Untuk mengurutkan objek dalam urutan menurun, gunakan Collections.reverseorder () metode

Memilah -milah Java

Memilah -milah Java mengacu pada mengatur objek dalam urutan tertentu, baik itu naik atau turun urutan. Di Java, kami memiliki metode yang telah ditentukan sebelumnya untuk menyortir objek.

Jawa Arrays.sort () Metode didefinisikan dalam java.util.arrays kemasan. Metode ini menggunakan berbagai algoritma penyortiran dalam situasi yang berbeda.

Array objek menggunakan mergeSort Sedangkan saat array terdiri dari tipe data primitif, ia menggunakan quicksort

Sintaksis

Lihat sintaks berikut.

public static void sort(Object[ ] arr, int start, int end) 

Argumen

Itu arr Menentukan array yang ingin kami terapkan metode sortir. Awal memberi tahu indeks awal yang ingin kami urutkan, dan akhir Menentukan indeks hingga yang ingin kami lakukan ( akhir pengecualian).

Itu Mulailah dan akhir Argumen diberikan hanya ketika kita tidak ingin mengurutkan seluruh array, dan sebaliknya, kita ingin subarray disortir. Sayangnya, beberapa versi kelebihan beban Arrays.sort () metode tersedia.

Nilai pengembalian

Dia mengembalikan jenis metode ini batal, dan tidak mengembalikan apa pun.

Contoh

Mereka tercantum di bawah ini:

public static void sort(Object[] arr)
public static void sort(byte[] arr, int start, int end)
public static void sort(byte[] arr)
public static void sort(short[] arr, int start, int end)
public static void sort(short[] arr)
public static void sort(int[] arr, int start, int end)
public static void sort(int[] arr)
public static void sort(long[] arr, int start, int end)
public static void sort(long[] arr)
public static void sort(double[] arr, int start, int end)
public static void sort(double[] arr)
public static void sort(float[] arr, int start, int end)
public static void sort(float[] arr)
public static void sort(char[] arr, int start, int end)
public static void sort(char[] arr)
public static void sort(String[] arr, int start, int end)
public static void sort(String[] arr)
 

Dimungkinkan juga untuk mengurutkan array menggunakan pembanding.

public static void sort(T[] arr, Comparator comp)
public static void sort(T[] arr, int start, int end, Comparator comp)
 

Itu Collections.sort () Metode didefinisikan dalam java.util.collections kemasan. Itu digunakan untuk mengurutkan daftar koleksi suka linkedlist, antrian, arraylist, dll., Dengan mengatur objek dari koleksi dalam urutan naik.

Sintaksis

Publik statis> void sort (daftar l)

Metode ini akan mengurutkan elemen daftar berdasarkan pemesanan alami elemen. T Menentukan jenis elemen daftar. Itu l Menentukan daftar yang akan diurutkan.

Public Static void sort (Daftar l, pembanding comp)

Metode ini akan mengurutkan elemen daftar Menurut pembanding yang ditentukan comp.

Lihat program berikut.

Contoh1.java: Urutkan serangkaian string dalam urutan naik dan turun.

import java.util.Arrays;
import java.util.Collections;

class Example1 {
  public static void main(String[] args) {
    // creating an array of strings
    String[] name = { "Raghu", "Vijay", "Virat", "Akash", "Sonal" };
    System.out.print("Original Array: ");
    for (String s : name)
      System.out.print(s + " ");

    // sorting the array in ascending order
    Arrays.sort(name);
    System.out.print("\nSorted array in ascending order: ");
    for (String s : name)
      System.out.print(s + " ");

    // sorting the array in the descending order using Collections.reverseOrder()
    Arrays.sort(name, Collections.reverseOrder());
    System.out.print("\nSorted array in Descending order: ");
    for (String s : name)
      System.out.print(s + " ");

    System.out.println();
  }
} 

Lihat output berikut.

Java

Contoh2.java: Urutkan daftar array menggunakan Collections.sort () metode.

import java.util.*;

class Example2 {
  public static void main(String[] args) {
    // Cretaing an arraylist to be sorted
    ArrayList arr = new ArrayList();
    arr.add(35);
    arr.add(7);
    arr.add(28);
    arr.add(14);
    arr.add(21);
    System.out.println("Original ArrayList: " + arr);

    // sorting the arraylist
    Collections.sort(arr);
    System.out.println("Sorted ArrayList: " + arr);
  }
} 

Lihat output berikut.

Java

Contoh3.java: Urutkan arraylist string menggunakan pembanding, berdasarkan panjang string.

import java.util.*;

class StrLen implements Comparator {
  // Comaprator to compare 2 strings by their length
  public int compare(String s1, String s2) {
    return s1.length() - s2.length();
  }
}

public class Example3 {
  public static void main(String[] args) {
    // Creating an ArrayList of names
    ArrayList name = new ArrayList();
    name.add("Abhishek");
    name.add("Monisha");
    name.add("Akash");
    name.add("Aparshakti");
    name.add("Pranshu");

    System.out.println("Original List: " + name);

    // Sorting ArrayList using comparator StrLen and sort them in the ascending
    // order of their length
    Collections.sort(name, new StrLen());
    System.out.println("Sorted List: " + name);
  }
} 

Lihat output berikut.

Java

Itu untuk tutorial ini.

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *