Sort tăng và giảm dần trong ArrayList

Sắp xếp là một trong những method mà chúng ta sử dụng thường xuyên, nên java đã cung cấp sẵn cho chúng ta các method sắp xếp để giúp đơn hoá các tác vụ thường dùng.

Có rất nhiều cách để sắp xếp một ArrayList trong java, nếu các bạn muốn ăn chay thì có thể tham khảo các thuật toán sắp xếp nhé. Việc tìm hiểu các thuật toán sắp xếp là một điều cần thiết cho người mới bắt đầu, thế nhưng về sau thì cứ sài hàng sẵn thôi =).

Method sort trong ArrayList

Ví dụ: Cho một ArrayList số nguyên [7, 9, 5, -1, 4, 4]. Sắp xếp tăng và giảm dần.

Sắp xếp tăng dần

import java.util.*;

public class Main {

    public static void main(String[] args) {
        List<Integer> arrays = Arrays.asList(7, 9, 5, -1, 4, 4);
        arrays.sort((o1, o2) -> o1 - o2);
        System.out.println(arrays);
    }
}

Output: [-1, 4, 4, 5, 7, 9]

Sắp xếp giảm dần

import java.util.*;

public class Main {

    public static void main(String[] args) {
        List<Integer> arrays = Arrays.asList(7, 9, 5, -1, 4, 4);
        arrays.sort((o1, o2) -> o2 - o1);
        System.out.println(arrays);
    }
}

Output: [9, 7, 5, 4, 4, -1]

Method sort trong ArrayList kết hợp Comparator

Sắp xếp tăng dần

import java.util.*;

public class Main {

    public static void main(String[] args) {
        List<Integer> arrays = Arrays.asList(7, 9, 5, -1, 4, 4);
        arrays.sort(Comparator.comparingInt(o -> o));
        System.out.println(arrays);
    }
}

Output: [-1, 4, 4, 5, 7, 9]

Sắp xếp giảm dần

Để sắp xếp giảm dần với comparator chúng ta cần sử dụng đến method reversed().

import java.util.*;

public class Main {

    public static void main(String[] args) {
        List<Integer> arrays = Arrays.asList(7, 9, 5, -1, 4, 4);
        arrays.sort(Comparator.comparingInt(o -> (int) o).reversed());
        System.out.println(arrays);
    }
}

Output: [9, 7, 5, 4, 4, -1]

Method sort trong collections

Ví dụ 2: Cho một ArrayList String [“e”, “b”, “d”, “a”, “c”] hãy sắp xếp ArrayList tăng và giảm dần.

Ở ví dụ 1 chúng ta đã sử dụng method sort() của ArrayList cung cấp. Trong ví dụ 2 này chúng ta sẽ sắp xếp với method của Collections.

import java.util.*;

public class Main {

    public static void main(String[] args) {
        List<String> arrays1 = Arrays.asList("e", "b", "d", "a", "c");
        Collections.sort(arrays1, (o1, o2) -> o1.compareTo(o2));
        System.out.println("Array ascending");
        System.out.println(arrays1);

        List<String> arrays2 = Arrays.asList("e", "b", "d", "a", "c");
        Collections.sort(arrays2, (o1, o2) -> o2.compareTo(o1));
        System.out.println("Array descending");
        System.out.println(arrays2);
    }
    
}

Output:

Array ascending
[a, b, c, d, e]
Array descending
[e, d, c, b, a]

Method sort trong collection kết hợp với comparator

import java.util.*;

public class Main {

    public static void main(String[] args) {
        List<String> arrays1 = Arrays.asList("e", "b", "d", "a", "c");
        Collections.sort(arrays1, Comparator.comparing(o -> o));
        System.out.println("Array ascending");
        System.out.println(arrays1);

        List<String> arrays2 = Arrays.asList("e", "b", "d", "a", "c");
        Collections.sort(arrays2, Comparator.reverseOrder());
        System.out.println("Array descending");
        System.out.println(arrays2);
    }

}

Output: 

Array ascending
[a, b, c, d, e]
Array descending
[e, d, c, b, a]

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x