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

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 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,

  • Khóa - một số nhận dạng duy nhất được sử dụng để liên kết từng phần tử (giá trị) trong bản đồ
  • Giá trị - các yếu tố được liên kết bởi các khóa trong bản đồ

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 SortedMap( headMap(), tailMap()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 phím nào đó (được thông qua như là một cuộc tranh cãi).

BooleanValue là một tham số tùy chọn. Giá trị mặc định của nó là false.

Nếu trueđược chuyển dưới dạng booleanValue, phương thức sẽ trả về tất cả các mục nhập được liên kết với tất cả các khóa đó trước khóa được chỉ định, bao gồm cả mục nhập được liên kết với khóa được chỉ định.

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 chìa khóa nhất đị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 chính quy định.

BooleanValue là một tham số tùy chọn. Giá trị mặc định của nó là true.

Nếu falseđược chuyển dưới dạng booleanValue, phương thức này sẽ trả về tất cả các mục nhập được liên kết với các khóa đó sau khóa được chỉ định, mà không bao gồm mục nhập được liên kết với khóa được chỉ định.

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.

Bv1 và bv2 là các tham 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 sẽ 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 sẽ 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 đồ.

  • downdingMap () - đảo ngược thứ tự các mục nhập trong bản đồ
  • LowerndingKeyMap () - đảo ngược thứ tự các phím trong bản đồ
  • TrầnEntry () - trả về mục nhập có khóa thấp nhất trong số tất cả các mục nhập có khóa lớn hơn hoặc bằng khóa được chỉ định
  • trầnKey () - trả về khóa thấp nhất trong số các khóa lớn hơn hoặc bằng khóa được chỉ định
  • floorEntry () - trả về mục nhập có khóa cao nhất trong số tất cả các mục nhập có khóa nhỏ hơn hoặc bằng khóa được chỉ định
  • floorKey () - trả về khóa cao nhất trong số các khóa nhỏ hơn hoặc bằng khóa được chỉ định
  • highEntry () - trả về một mục nhập có khóa thấp nhất trong số tất cả các mục nhập có khóa lớn hơn khóa được chỉ định
  • highKey () - trả về khóa thấp nhất trong số các khóa lớn hơn khóa được chỉ định
  • lowEntry () - trả về một mục nhập có khóa cao nhất trong số tất cả các mục nhập có khóa nhỏ hơn khóa được chỉ định
  • lowKey () - trả về khóa cao nhất trong số các khóa nhỏ hơn khóa được chỉ định
  • firstEntry () - trả về mục nhập đầu tiên (mục nhập có khóa thấp nhất) của bản đồ
  • lastEntry () - trả về mục nhập cuối cùng (mục nhập có khóa cao nhất) của bản đồ
  • thăm dò ý kiến ​​() - trả về và xóa mục nhập đầu tiên của bản đồ
  • thăm dò ý kiến ​​() - trả về và xóa mục nhập cuối cùng của bản đồ

Để 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 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

 Bản đồ điều hướng: (Một = 1, Ba = 3, Hai = 2) Mục nhập đầu tiên: Một = 1 Mục nhập cuối cùng: Hai = 2 Mục nhập đầu tiên bị xóa: Một = 1 Mục nhập cuối cùng bị xóa: Hai = 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.

thú vị bài viết...