Java - Viết chương trình sắp xếp các phần tử của HashSet theo thứ tự tăng dần.
Viết chương trình sắp xếp các phần tử của HashSet
theo thứ tự tăng dần.
Bài giải
-------------------- ######## --------------------
Vì thứ tự các phần tử của HashSet
được hiển thị một cách ngẫu nhiên, vì vậy chúng ta không thể sắp xếp các phần tử của nó theo cách giống với các Collections
khác. Đoạn chương trình dưới đây sẽ minh họa cách sắp xếp HashSet
:
public static void main(String[] args) { HashSet<String> hashSetString = new HashSet<>(); // thêm các phần tử cho hashSetString hashSetString.add("Orange"); hashSetString.add("Apple"); hashSetString.add("Banana"); hashSetString.add("Guava"); hashSetString.add("Pear"); System.out.print("Các phần tử có trong hashSetString trước khi sắp xếp: "); System.out.println(hashSetString); // Cách 1: Sắp xếp HashSet sử dụng List Interface List<String> listString = new ArrayList<>(hashSetString); Collections.sort(listString); System.out.print("Các phần tử có trong hashSetString sau khi sắp xếp sử dụng List: "); System.out.println(listString); // Cách 2: Sắp xếp HashSet sử dụng TreeSet TreeSet<String> treeSetString = new TreeSet<>(hashSetString); System.out.print("Các phần tử có trong hashSetString sau khi sắp xếp sử dụng TreeSet: "); System.out.println(treeSetString); }
Trong cách 1, chúng ta tạo ra 1 List
và thêm các phần tử của HashSet
vào trong List
. sau đó chúng ta sử dụng phương thức Collections.sort()
để sắp xếp các phần tử của List
này.
Trong cách 2, chúng ta tạo ra 1 TreeSet
và thêm các phần tử của HashSet
vào trong TreeSet
bằng cách khai báo HashSet
khi tạo mới 1 TreeSet
(chi tiết về TreeSet tôi sẽ hướng dẫn trong bài sau). Mặc định TreeSet
sẽ sắp xếp các phần tử theo thứ tự tăng dần, vì vậy chúng ta cũng sẽ có một HashSet
có các phần tử được sắp xếp theo thứ tự tăng dần.
Trong 2 cách này, cách sử dụng TreeSet
thì thích hợp hơn cách sử dụng List
bởi vì TreeSet
được tạo ra là để phục vụ cho mục đích này. Sau đây là kết quả biên dịch chương trình:
Bài viết này được đăng tại [free tuts .net]
Câu hỏi thường gặp liên quan:
- Java - Viết chương trình sắp xếp các phần tử của HashSet theo thứ tự tăng dần.
- Java - Thực hiện các toán tử tập hợp con, toán tử hợp, toán tử giao giữa 2 HashSet.
- Java - Viết chương trình tách các phần tử của 1 mảng thành 1 HashSet chứa các phần tử không trùng nhau.