Trong hướng dẫn này, chúng ta sẽ tìm hiểu về giao diện Java NavigableMap và các phương pháp của nó với sự trợ giúp của một ví dụ.
Các NavigableMap
giao diện của khuôn khổ bộ sưu tập Java cung cấp các tính năng để di chuyển giữa các mục bản đồ.
Nó được coi là một loại Bản đồ sắp xếp .
Lớp triển khai NavigableMap
Vì NavigableMap
là một giao diện nên chúng ta không thể tạo các đối tượng từ nó.
Để sử dụng các chức năng của NavigableMap
giao diện, chúng ta cần sử dụng TreeMap
lớp thực thi NavigableMap
.
Làm thế nào để sử dụng NavigableMap?
Trong Java, chúng ta phải nhập java.util.NavigableMap
gói để sử dụng NavigableMap
. Sau khi chúng tôi nhập gói, đây là cách chúng tôi có thể tạo một bản đồ có thể điều hướng.
// NavigableMap implementation by TreeMap class
NavigableMap<Key, Value> numbers = new TreeMap<>();
Trong đoạn mã trên, chúng ta đã tạo một bản đồ điều hướng có tên là các số của TreeMap
lớp.
Đây,
- Key – a unique identifier used to associate each element (value) in a map
- Value – elements associated by keys in a map
Phương thức của NavigableMap
Các NavigableMap
được coi là một loại SortedMap
. Đó là vì NavigableMap
mở rộng SortedMap
giao diện.
Do đó, tất cả các SortedMap
phương pháp cũng có sẵn trong NavigableMap
. Để tìm hiểu cách các phương thức này được định nghĩa SortedMap
, hãy truy cập Java SortedMap .
Tuy nhiên, một số các phương pháp SortedMap
( headMap()
, tailMap()
và subMap()
) được định nghĩa khác nhau trong NavigableMap
.
Hãy xem cách các phương thức này được định nghĩa trong NavigableMap
.
headMap (key, booleanValue)
Các headMap()
phương pháp trả về tất cả các mục của một bản đồ điều hướng gắn liền với tất cả những phím trước khi quy định quan trọng (được thông qua như là một cuộc tranh cãi).
Các booleanValue là một tham số tùy chọn. Giá trị mặc định của nó là false
.
Nếu true
được thông qua như là một booleanValue , trở về phương pháp tất cả các mục liên quan đến tất cả những phím trước khi quy định quan trọng , trong đó có các mục nhập liên quan đến việc xác định chủ chốt .
tailMap (key, booleanValue)
Các tailMap()
phương pháp trả về tất cả các mục của một bản đồ điều hướng gắn liền với tất cả những phím sau khi xác định chính (được thông qua như là một cuộc tranh cãi), bao gồm các mục liên quan đến việc xác định chủ chốt .
Các booleanValue là một tham số tùy chọn. Giá trị mặc định của nó là true
.
Nếu false
được thông qua như là một booleanValue , trở về phương pháp tất cả các mục liên quan đến các phím sau khi xác định chủ chốt , mà không bao gồm các mục liên quan đến việc xác định chủ chốt .
subMap (k1, bv1, k2, bv2)
Các subMap()
phương pháp trả về tất cả các mục có liên quan với các phím giữa k1 và k2 bao gồm các mục liên quan đến k1 .
Các BV1 và bv2 là các thông số tùy chọn. Giá trị mặc định của bv1 là true và giá trị mặc định của bv2 là false
.
Nếu false
được chuyển dưới dạng bv1 , phương thức trả về tất cả các mục nhập được liên kết với các khóa giữa k1 và k2 , không bao gồm mục nhập được liên kết với k1 .
Nếu true
được chuyển dưới dạng bv2 , phương thức trả về tất cả các mục nhập được liên kết với các khóa giữa k1 và k2 , bao gồm cả mục nhập được liên kết với k1 .
Các phương pháp khác
Các NavigableMap
cung cấp phương pháp khác nhau có thể được sử dụng để xác định vị trí các mục của bản đồ.
- descendingMap() – reverse the order of entries in a map
- descendingKeyMap() – reverses the order of keys in a map
- ceilingEntry() – returns an entry with the lowest key among all those entries whose keys are greater than or equal to the specified key
- ceilingKey() – returns the lowest key among those keys that are greater than or equal to the specified key
- floorEntry() – returns an entry with the highest key among all those entries whose keys are less than or equal to the specified key
- floorKey() – returns the highest key among those keys that are less than or equal to the specified key
- higherEntry() – returns an entry with the lowest key among all those entries whose keys are greater than the specified key
- higherKey() – returns the lowest key among those keys that are greater than the specified key
- lowerEntry() – returns an entry with the highest key among all those entries whose keys are less than the specified key
- lowerKey() – returns the highest key among those keys that are less than the specified key
- firstEntry() – returns the first entry (the entry with the lowest key) of the map
- lastEntry() – returns the last entry (the entry with the highest key) of the map
- pollFirstEntry() – returns and removes the first entry of the map
- pollLastEntry() – returns and removes the last entry of the map
Để tìm hiểu thêm, hãy truy cập Java NavigableMap (tài liệu Java chính thức) .
Triển khai NavigableMap trong lớp TreeMap
import java.util.NavigableMap;
import java.util.TreeMap;
class Main {
public static void main(String[] args) {
// Creating NavigableMap using TreeMap
NavigableMap<String, Integer> numbers = new TreeMap<>();
// Insert elements to map
numbers.put("Two", 2);
numbers.put("One", 1);
numbers.put("Three", 3);
System.out.println("NavigableMap: " + numbers);
// Access the first entry of the map
System.out.println("First Entry: " + numbers.firstEntry());
// Access the last entry of the map
System.out.println("Last Entry: " + numbers.lastEntry());
// Remove the first entry from the map
System.out.println("Removed First Entry: " + numbers.pollFirstEntry());
// Remove the last entry from the map
System.out.println("Removed Last Entry: " + numbers.pollLastEntry());
}
}
Đầu ra
NavigableMap: {One=1, Three=3, Two=2} First Entry: One=1 Last Entry: Two=2 Removed First Entry: One=1 Removed Last Entry: Two=2
Để tìm hiểu thêm về TreeMap
, hãy truy cập Java TreeMap .
Bây giờ chúng ta đã biết về NavigableMap
giao diện, chúng ta sẽ tìm hiểu về cách triển khai của nó bằng cách sử dụng TreeMap
lớp một cách chi tiết trong hướng dẫn tiếp theo.