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:

Bài giải
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:

 

 

Nguồn: freetuts.net