sap-xep-mang-java

Làm thế nào để sắp xếp Array trong Java?

Mảng trong Java giống như một thùng chứa có thể chứa một số lượng cố định của cùng một loại (kiểu), nó có thể là các kiểu nguyên thủy cũng như các Object.

LUYỆN THI CHỨNG CHỈ OCA

Sắp xếp mảng trong Java

Đôi khi chúng ta cần sắp xếp mảng trong java , chúng ta có thể sử dụng lớp Array để sắp xếp mảng. Mảng là một lớp Object cung cấp rất nhiều phương thức hữu ích để làm việc với mảng trong Java.

Hãy xem ví dụ dưới đây:

import java.util.Arrays;

public class JavaArraySort {

    /**
     * This class shows how to sort an array in Java
     * @param args
     */
    public static void main(String[] args) {
        int[] intArr = {1, 4, 2, 6, 3};
        String[] strArr = {"E", "A", "U","O","I"};
        //sort int array
        Arrays.sort(intArr);
        Arrays.sort(strArr);
        
        System.out.println(Arrays.toString(intArr));
        System.out.println(Arrays.toString(strArr));
    }

}Code language: JavaScript (javascript)

Output:

[1, 2, 3, 4, 6]
[A, E, I, O, U]Code language: JSON / JSON with Comments (json)

Những điều cần lưu ý

  1. Chúng ta chỉ có thể sử dụng Array.sort(T [] tArr) nếu kiểu mảng implement Comparable interface.
  2. Có một biến thể khác Arrays.sort(T[] tArr, Comparator c) mà chúng ta có thể sử dụng để sắp xếp mảng đối tượng tùy chỉnh dựa trên các trường khác nhau.
  3. Bạn có thể tìm hiểu cách so sánh của Java sử dụng Comparator.
  4. Arrays.sort(T[] t) sử dụng thuật toán Dual-Pivot Quicksort với hiệu suất là O (n log (n)) . Việc sắp xếp được thực hiện theo thứ tự tăng dần tự nhiên.

Các cách khác nhau để sắp xếp mảng trong Java

Có nhiều thuật toán để sắp xếp một mảng. Một số trong số những cái phổ biến là:

Bubble Sort

Insertion Sort

Heap Sort

Merge Sort

Quick Sort

Chúng ta có thể viết mã để triển khai bất kỳ thuật toán nào trong số này để sắp xếp một mảng. Tuy nhiên, bạn nên sử dụng hàm Arrays.sort() tích hợp sẵn để sắp xếp không có lỗi và đạt hiệu suất nhanh.

Happy learning!!!

HỌC JAVA CORE~

Bài viết liên quan

Leave a Reply

Your email address will not be published.