JavaRush /Blog Java /Random-VI /Nghỉ giải lao #136. Sắp xếp một mảng theo thứ tự tăng dần...

Nghỉ giải lao #136. Sắp xếp một mảng theo thứ tự tăng dần hoặc giảm dần bằng cách sử dụng Arrays.sort(). Sự khác biệt giữa giao diện Danh sách và Bộ là gì?

Xuất bản trong nhóm

Sắp xếp một mảng theo thứ tự tăng dần hoặc giảm dần bằng Arrays.sort()

Nguồn: FreeCodeCamp Với bài đăng này, bạn sẽ tìm hiểu cách sắp xếp một mảng theo thứ tự tăng dần hoặc giảm dần trong Java. Nghỉ giải lao #136.  Sắp xếp một mảng theo thứ tự tăng dần hoặc giảm dần bằng cách sử dụng Arrays.sort().  Sự khác biệt giữa giao diện Danh sách và Bộ là gì?  - 1Trong Java, chúng ta sử dụng mảng để lưu trữ một tập hợp các biến (có cùng kiểu dữ liệu) trong một biến duy nhất. Nhưng đôi khi các giá trị được lưu trong mảng xuất hiện theo thứ tự ngẫu nhiên. Nhờ lớp Arrays trong Java, chúng ta có một số cách để thao tác với mảng, bao gồm cả việc sắp xếp chúng. Một trong những phương thức chúng ta sẽ sử dụng từ lớp Arrays là phương thức Sort() , sắp xếp mảng theo thứ tự tăng dần. Để sắp xếp một mảng theo thứ tự giảm dần, hãy sử dụng phương thức ReverseOrder() của lớp Collections trong Java.

Cách sắp xếp một mảng theo thứ tự tăng dần trong Java bằng Arrays.sort()

Đây là một ví dụ về cách chúng ta có thể sử dụng phương thức Sort() để sắp xếp một mảng theo thứ tự tăng dần.
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,
        }
    }
}
Điều đầu tiên chúng ta làm trong ví dụ trên là nhập lớp Mảng : import java.util.Arrays; . Điều này cho phép chúng ta truy cập vào tất cả các phương thức của lớp Arrays . Sau đó, chúng tôi tạo một mảng với các số theo thứ tự ngẫu nhiên: int[] arr = { 5, 2, 1, 8, 10 }; . Để sắp xếp mảng này theo thứ tự tăng dần, chúng ta đã chuyển mảng đó làm tham số cho phương thức Sort() : Arrays.sort(arr); . Lưu ý rằng lớp Arrays được viết trước khi truy cập phương thức sắp xếp() bằng ký hiệu dấu chấm. Cuối cùng, chúng tôi tạo một vòng lặp và in mảng đó ra bàn điều khiển. Kết quả là một mảng được sắp xếp: 1, 2, 5, 8, 10 . Bây giờ hãy nói về việc sắp xếp một mảng theo thứ tự giảm dần.

Cách sắp xếp một mảng theo thứ tự giảm dần trong Java bằng Collections.reverseOrder()

Để sắp xếp một mảng theo thứ tự giảm dần, bạn nên sử dụng ReverseOrder() , có thể được truy cập từ lớp Collections . Chúng tôi vẫn sẽ sử dụng Arrays.sort(); , nhưng trong ví dụ này, nó sẽ lấy hai tham số - một mảng để sắp xếp và 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,
        }
    }
}
Điều đầu tiên chúng ta làm là nhập các lớp MảngBộ sưu tập vì chúng ta sẽ sử dụng các phương thức do các lớp này cung cấp. Sau đó, chúng tôi tạo một dãy số theo thứ tự ngẫu nhiên: Integer[] arr = { 5, 2, 1, 8, 10 }; . Như bạn có thể thấy, chúng tôi đã sử dụng Integer[] thay vì int[] như trong ví dụ trước. Nếu không sẽ xảy ra lỗi. Để sắp xếp mảng theo thứ tự giảm dần, chúng tôi đã thực hiện điều này: Arrays.sort(arr, Collections.reverseOrder()); . Tham số đầu tiên là một mảng mảng sẽ được sắp xếp theo thứ tự tăng dần. Tham số thứ hai, Collections.reverseOrder() , sau đó sẽ đảo ngược thứ tự của mảng đã sắp xếp sao cho nó theo thứ tự giảm dần. Khi lặp qua và in ra, mảng sẽ trông như thế này: 10, 8, 5, 2, 1 .

Phần kết luận

Trong bài viết này, chúng ta đã thảo luận về cách sắp xếp mảng trong Java - cách chúng có thể được sắp xếp theo thứ tự tăng dần hoặc giảm dần. Để làm điều này, chúng ta có thể sử dụng phương thức Sort() , có thể được truy cập từ lớp Arrays . Phương thức Sort() lấy một mảng để sắp xếp làm tham số. Để sắp xếp mảng theo thứ tự giảm dần, chúng ta đã sử dụng phương thức ReverseOrder() do lớp Collections cung cấp. Nó được truyền dưới dạng tham số thứ hai cho phương thức Sort() để mảng đã sắp xếp có thể được sắp xếp lại theo thứ tự giảm dần.

Bộ sưu tập Java. Sự khác biệt giữa giao diện Danh sách và Bộ là gì?

Nguồn: Rrtutors List và Set là các giao diện Java để mở rộng giao diện Collection . Trong bài đăng này, chúng ta sẽ xem xét những khác biệt chính giữa hai loại này, cũng như cách chúng có thể được sử dụng.

Sự khác biệt giữa giao diện Set và List trong Java

Hãy xác định những khác biệt chính giữa giao diện ListSet dựa trên các tham số chính sau:

Thực hiện

List triển khai ArrayLists , trong khi HashSet triển khai Set .

Lập chỉ mục

Bạn có thể sử dụng ListIterator để di chuyển cả tiến và lùi thông qua List , nhưng không thông qua Set . Thay vào đó hãy sử dụng Iterator (hoạt động với cả ListSet ).

Đặt hàng

Giao diện Set không hỗ trợ bất kỳ thứ tự đặt cụ thể nào. Một bộ sưu tập thuộc loại Set đã được sắp xếp theo quy tắc riêng của nó và không thể sắp xếp như vậy. Danh sách là một danh sách có thứ tự. Các đối tượng được lưu trữ theo thứ tự chúng được thêm vào danh sách. Các phần tử danh sách được truy cập theo chỉ mục.

Đối tượng rỗng

Danh sách không có hạn chế và hỗ trợ thêm giá trị Null, trong khi Set cho phép tối đa một giá trị null.

trùng lặp

Danh sách có thể chứa các bản sao nhưng Set thì không. Set không cho phép các phần tử trùng lặp vì tất cả các phần tử của nó phải là duy nhất. Nếu bạn chèn một phần tử trùng lặp vào Set , giá trị hiện tại sẽ bị ghi đè.

Khi nào bạn nên sử dụng Danh sách và Bộ?

Set là lựa chọn tốt nhất khi bạn chỉ cần lưu trữ các giá trị duy nhất vì đó là mục đích của nó. Nhưng nếu bạn muốn giữ nguyên thứ tự chèn dù bị trùng lặp thì List là lựa chọn tốt nhất .

Bộ ví dụ

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);

            }

}

Danh sách ví dụ

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();

                            }

            }

}
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION