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
.
floorKey(K key);
, trong đó key
là khóa được đưa ra.
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:
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 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.
- Java - Viết chương trình tìm khóa nhỏ nhất trong TreeMap mà lớn hơn hoặc bằng với 1 khóa được đưa ra.