Java: TreeMap
Lớp TreeMap thực thi interface NavigableMap nhưng lưu trữ các phần tử trong cấu trúc cây. TreeMap trả về các khóa theo thứ tự được sắp xếp. Nếu không cần truy xuất các phần tử Map được sắp xếp theo khóa, thì HashMap sẽ là một cấu trúc thực tế hơn để sử dụng.
Các hàm tạo của lớp này như sau:
TreeMap(): Hàm tạo xây dựng một bản đồ cây trống mới.
TreeMap(Comparator<? super K> c): Hàm tạo xây dựng một bản đồ cây, trong đó các khóa được sắp xếp theo bộ so sánh.
TreeMap(Map<? extends K,? extends V> m): Hàm tạo xây dựng một bản đồ cây mới chứa các mục giống như bản đồ m đã cho. Nó đặt hàng theo thứ tự tự nhiên của khóa của nó.
TreeMap(SortedMap<K,? extends V> m): Hàm tạo xây dựng một bản đồ cây mới có chứa các mục giống như Bản đồ sắp xếp đã cho và sử dụng cùng một bộ so sánh như SortedMap đã cho.
Các phương thức của lớpTreeMap
Các phương thức quan trọng của lớp TreeMap như sau:
firstKey()
Phương thức trả về khóa đầu tiên trong bản đồ được sắp xếp này.
Cú pháp:
public K firstKey ()
lastKey()
Phương thức trả về khóa cuối cùng trong bản đồ được sắp xếp này.
Cú pháp:
public K lastKey ()
headMap(K toKey)
Phương thức trả về một phần của bản đồ có giá trị nhỏ hơn giá trị được chỉ định bởi biến, toKey.
Cú pháp:
public SortedMap<K, V> headMap (K toKey)
tailMap(K fromKey)
Phương thức trả về một phần của bản đồ đang gọi này có các khóa lớn hơn hoặc bằng giá trị được chỉ định trong biến, fromKey.
Cú pháp:
public SortedMap<K, V> tailMap(K fromKey)
Ví dụ sau hiển thị việc sử dụng lớp TreeMap.
TreeMap<String, EmployeeData> staffObj = new TreeMap<String, EmployeeData>(); staffObj.put("101", new EmployeeData("Anna John")); staffObj.put("102", new EmployeeData("Harry Hacker")); staffObj.put("103", new EmployeeData("Joby Martin")); System.out.println(staffObj); staffObj.remove("103"); staffObj.put("104", new EmployeeData("John Luther")); System.out.println(staffObj.get("104")); Object firstKey = staffObj.firstKey(); System.out.println(firstKey.toString()); System.out.println((String)staffObj.firstKey()); System.out.println((String)(staffObj.lastKey()));
Ví dụ trên trình bày việc sử dụng lớp TreeMap. Dữ liệu được thêm vào TreeMap và được truy xuất. Hàm firstKey() và lastKey() được sử dụng để lấy khóa đầu tiên và khóa cuối cùng.