JavaRush /Blog Java /Random-MS /Coffee break #136. Isih tatasusunan dalam tertib menaik a...

Coffee break #136. Isih tatasusunan dalam tertib menaik atau menurun menggunakan Arrays.sort(). Apakah perbezaan antara antara muka Senarai dan Set?

Diterbitkan dalam kumpulan

Isih tatasusunan dalam tertib menaik atau menurun menggunakan Arrays.sort()

Sumber: FreeCodeCamp Dengan siaran ini, anda akan belajar cara mengisih tatasusunan sama ada dalam tertib menaik atau menurun dalam Java. Coffee break #136.  Isih tatasusunan dalam tertib menaik atau menurun menggunakan Arrays.sort().  Apakah perbezaan antara antara muka Senarai dan Set?  - 1Di Java, kami menggunakan tatasusunan untuk menyimpan satu set pembolehubah (dengan jenis data yang sama) dalam satu pembolehubah. Tetapi kadangkala nilai yang disimpan dalam tatasusunan muncul dalam susunan rawak. Terima kasih kepada kelas Array di Java, kami mempunyai beberapa cara untuk memanipulasi tatasusunan, termasuk menyusunnya. Salah satu kaedah yang akan kami gunakan daripada kelas Arrays ialah sort() method , yang menyusun tatasusunan dalam tertib menaik. Untuk mengisih tatasusunan dalam tertib menurun, gunakan kaedah reverseOrder() kelas Koleksi di Java.

Bagaimana untuk mengisih tatasusunan dalam tertib menaik di Jawa menggunakan Arrays.sort()

Berikut ialah contoh bagaimana kita boleh menggunakan kaedah sort() untuk mengisih tatasusunan dalam tertib menaik.
import java.util.Arrays;

class ArraySort {
    public static void main(String[] args) {
        int[] arr = { 5, 2, 1, 8, 10 };
        Arrays.sort(arr);

        for (int values : arr) {
            System.out.print(values + ", ");
            // 1, 2, 5, 8, 10,
        }
    }
}
Perkara pertama yang kami lakukan dalam contoh di atas ialah mengimport kelas Arrays : import java.util.Arrays; . Ini memberi kami akses kepada semua kaedah kelas Arrays . Kemudian kami mencipta tatasusunan dengan nombor dalam susunan rawak: int[] arr = { 5, 2, 1, 8, 10 }; . Untuk mengisih tatasusunan ini dalam tertib menaik, kami lulus tatasusunan sebagai parameter kepada kaedah sort() : Arrays.sort(arr); . Ambil perhatian bahawa kelas Tatasusunan ditulis terlebih dahulu sebelum mengakses kaedah sort() menggunakan notasi titik. Akhirnya, kami mencipta gelung dan mencetak tatasusunan ke konsol. Hasilnya ialah tatasusunan yang diisih: 1, 2, 5, 8, 10 . Sekarang mari kita bercakap tentang menyusun tatasusunan dalam tertib menurun.

Bagaimana untuk mengisih tatasusunan dalam susunan menurun dalam Java menggunakan Collections.reverseOrder()

Untuk mengisih tatasusunan dalam tertib menurun, anda harus menggunakan reverseOrder() , yang boleh diakses daripada kelas Koleksi . Kami masih akan menggunakan Arrays.sort(); , tetapi dalam contoh ini ia akan mengambil dua parameter - tatasusunan untuk diisih dan Collections.reverseOrder() .
import java.util.Arrays;
import java.util.Collections;

class ArraySort {
    public static void main(String[] args) {
        Integer[] arr = { 5, 2, 1, 8, 10 };
        Arrays.sort(arr, Collections.reverseOrder());

        for (int values : arr) {
            System.out.print(values + ", ");
            // 10, 8, 5, 2, 1,
        }
    }
}
Perkara pertama yang kami lakukan ialah mengimport kelas Arrays dan Collections kerana kami akan menggunakan kaedah yang disediakan oleh kelas ini. Kami kemudian mencipta tatasusunan nombor dalam susunan rawak: Integer[] arr = { 5, 2, 1, 8, 10 }; . Seperti yang anda lihat, kami menggunakan Integer[] dan bukannya int[] seperti dalam contoh sebelumnya. Jika tidak ralat akan berlaku. Untuk mengisih tatasusunan dalam tertib menurun, kami melakukan ini: Arrays.sort(arr, Collections.reverseOrder()); . Parameter pertama ialah arr tatasusunan yang akan diisih dalam tertib menaik. Parameter kedua, Collections.reverseOrder() , kemudian akan membalikkan susunan tatasusunan yang diisih supaya ia berada dalam tertib menurun. Apabila digelung dan dicetak, tatasusunan akan kelihatan seperti ini: 10, 8, 5, 2, 1 .

Kesimpulan

Dalam artikel ini, kami membincangkan tentang menyusun tatasusunan dalam Java - cara ia boleh diisih dalam tertib menaik atau menurun. Untuk melakukan ini, kita boleh menggunakan kaedah sort() , yang boleh diakses daripada kelas Arrays . Kaedah sort() mengambil tatasusunan untuk diisih sebagai parameter. Untuk mengisih tatasusunan dalam tertib menurun, kami menggunakan kaedah reverseOrder() yang disediakan oleh kelas Koleksi. Ia diluluskan sebagai parameter kedua kepada kaedah sort() supaya tatasusunan yang diisih boleh disusun semula dalam tertib menurun.

Koleksi Java. Apakah perbezaan antara antara muka Senarai dan Set?

Sumber: Senarai dan Set Rrtutors ialah antara muka Java untuk memanjangkan antara muka Koleksi . Dalam siaran ini, kita akan melihat perbezaan utama antara kedua-duanya, serta cara ia boleh digunakan.

Perbezaan antara antara muka Set dan Senarai dalam Java

Mari kita tentukan perbezaan utama antara antara muka Senarai dan Set berdasarkan parameter utama berikut:

Perlaksanaan

List melaksanakan ArrayLists , manakala HashSet melaksanakan Set .

Pengindeksan

Anda boleh menggunakan ListIterator untuk bergerak ke hadapan dan ke belakang melalui Senarai , tetapi bukan melalui Set . Gunakan Iterator sebaliknya (yang berfungsi dengan kedua-dua List dan Set ).

Pesanan

Antara muka Set tidak menyokong sebarang susunan set tertentu. Koleksi jenis Set sudah diisih mengikut peraturannya sendiri dan tidak boleh diisih begitu sahaja. Senarai ialah senarai tersusun. Objek disimpan mengikut susunan ia ditambahkan pada senarai. Elemen senarai diakses oleh indeks.

Objek nol

Senarai tidak mempunyai sekatan dan sokongan menambah nilai Null, manakala Set membenarkan paling banyak satu nilai null.

Pendua

Senarai boleh mengandungi pendua, tetapi Set tidak boleh. Set tidak membenarkan elemen pendua kerana semua elemennya mestilah unik. Jika anda memasukkan elemen pendua ke dalam Set , nilai sedia ada akan ditimpa.

Bilakah anda perlu menggunakan Senarai dan Set?

Set ialah pilihan terbaik apabila anda hanya perlu menyimpan nilai unik, kerana untuk itulah ia direka bentuk. Tetapi jika anda ingin mengekalkan susunan sisipan walaupun terdapat pertindihan, List ialah pilihan terbaik .

Set Contoh

import java.util.ArrayList;

import java.util.LinkedList;

import java.util.List;

public class ListExample {

            public static void main(String[] args) {

                        List<String> al = new ArrayList<String>();

                          al.add("Rohit");

                          al.add("Panjab");

                          al.add("Kamir");

                          System.out.println("My ArrayList Items: ");

                          System.out.print(al);

                          List<String> ll = new LinkedList<String>();

                          ll.add("Shobit");

                          ll.add("Raul");

                          ll.add("Ketel");

                          System.out.println("\n My LinkedList Items: ");

                          System.out.print(ll);

            }

}

Senarai Contoh

import java.util.HashSet;

import java.util.Set;

import java.util.TreeSet;

public class SetExample {

            public static void main(String[] args) {

                          int myList[] = {60, 70, 80, 40 };

                            Set<Integer> dispSet = new HashSet<Integer>();

                            try{

                              for(int i = 0; i<4; i++){

                                dispSet.add(myList[i]);

                              }

                              System.out.println(dispSet);

                              TreeSet<Integer> treeset = new TreeSet<Integer>(dispSet);

                              System.out.println("Sorting in Asceding order:");

                              System.out.println(treeset);

                            }

                            catch(Exception e){

                                e.printStackTrace();

                            }

            }

}
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION