Java - Viết chương trình tìm khóa lớn nhất trong TreeMap mà nhỏ hơn hoặc bằng với 1 khóa được đưa ra.

Viết chương trình nhập vào các phần tử có khóa kiểu số nguyên cho TreeMap. Sau đó tìm khóa lớn nhất trong các phần tử đó mà có giá trị nhỏ hơn hoặc bằng với 1 khóa bất kỳ được đưa ra.

Bài giải

-------------------- ######## --------------------

Hướng dẫn: Để tìm khóa lớn nhất trong các phần tử đó mà có giá trị nhỏ hơn hoặc bằng với 1 khóa bất kỳ được đưa ra, Java cung cấp cho chúng ta phương thức floorKey(). Phương thức này sẽ trả về khóa lớn nhất có giá trị nhỏ hơn hoặc bằng với 1 khóa bất kỳ được đưa ra, nếu không tìm thấy giá trị khóa cần tìm thì sẽ trả về null.

Cú pháp
floorKey(K key);

, trong đó key là khóa được đưa ra.

Bài giải
public static void main(String[] args) {
	TreeMap<Integer, String> treeMap = new TreeMap<>();
		
	// thêm các entry cho TreeMap
	treeMap.put(10, "Ten");
	treeMap.put(25, "Twenty-five");
	treeMap.put(40, "Forty");
	treeMap.put(55, "Fifty-five");
	treeMap.put(70, "Seventy");
		
	// tìm khóa lớn nhất nhỏ hơn hoặc bằng 10
	System.out.println("Khóa cần tìm = " + treeMap.floorKey(10));
		
	// tìm khóa lớn nhất nhỏ hơn hoặc bằng 25
	System.out.println("Khóa cần tìm = " + treeMap.floorKey(30));
		
	// tìm khóa lớn nhất nhỏ hơn hoặc bằng 80
	System.out.println("Khóa cần tìm = " + treeMap.floorKey(80));
		
	// tìm khóa lớn nhất nhỏ hơn hoặc bằng 5
	// kết quả sẽ trả về null
	System.out.println("Khóa cần tìm = " + treeMap.floorKey(5));
}

Kết quả sau khi biên dịch chương trình:

Câu hỏi và bài tập

Nguồn: freetuts.net