Giao diện Java NavigableMap

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 NavigableMapgiao 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ì NavigableMaplà 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 NavigableMapgiao diện, chúng ta cần sử dụng TreeMaplớ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.NavigableMapgó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 TreeMaplớ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ì NavigableMapmở rộng SortedMapgiao diện.

Do đó, tất cả các SortedMapphươ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 SortedMapheadMap()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 NavigableMapcung 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ề NavigableMapgiao 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 TreeMaplớp một cách chi tiết trong hướng dẫn tiếp theo.









Gõ tìm kiếm nhanh...