Java程式:獲取TreeMap中大於或小於指定值的鍵、值或條目


一個TreeMapJava提供的實現Map介面的類。它是一個鍵值對的集合,TreeMap中的鍵值對根據鍵值按排序順序儲存。一個條目(Entry)在TreeMap中定義為一個鍵值對。

在本文中,我們將詳細瞭解如何獲取TreeMap中大於或小於指定值的鍵值對或條目。

使用的方法

現在,我們將研究本文中使用的一些TreeMap的內建方法及其功能。

higherKey() − 此方法用於返回大於給定鍵的最小鍵(如果存在),否則返回null。

mapObject.higherKey(Object key)

higherEntry() − 此方法返回鍵值對,其最小鍵嚴格大於給定鍵(如果存在),否則返回null。

mapObject.higherEntry(Object key)

lowerKey() − 此方法用於返回嚴格小於給定鍵的最大鍵,否則返回null。

mapObject.lowerKey(Object key) 

lowerEntry() − 此方法返回鍵值對,其最大鍵嚴格小於給定鍵,否則返回null。

mapObject.lowerEntry(Object key)

ceilingEntry() − 此方法返回鍵值對,其最小鍵大於或等於給定鍵,否則返回null。

mapObject.ceilingEntry(Object key)

floorEntry() − 此方法返回鍵值對,其最大鍵小於或等於給定鍵,否則返回null。

mapObject.floorEntry(Object key)

get() − 此方法用於獲取與鍵關聯的值,否則返回null。

mapObject.get(Object key)

put() − 此方法用於向TreeMap新增鍵值對。它接受兩個引數:鍵和值。

mapObject.get(Object key, Object value)

現在,我們將詳細討論使用Java中的不同方法,透過不同的示例來查詢TreeMap中大於或小於指定值的鍵、值或條目。

方法一:使用higherKey()、lowerKey()、higherEntry()和lowerEntry()

  • 建立一個TreeMap物件,並使用put()方法新增鍵值對。

  • 使用higherKey()和higherEntry()列印大於給定鍵的最小鍵、值和條目。

  • 使用lowerKey()和lowerEntry()列印小於給定鍵的最大鍵、值和條目。

示例

在這個例子中,我們將使用Java提供的不同的內建方法higherKey()、lowerKey()、higherEntry()、lowerEntry()來獲取大於或小於指定值的鍵、值或條目。

import java.util.*;
public class Main {
   public static void main(String[] args) {
      TreeMap<Integer, String> treeMap = new TreeMap<>();
      treeMap.put(1, "A");
      treeMap.put(2, "B");
      treeMap.put(3, "C");
      treeMap.put(4, "D");
      System.out.println("Key greater than 3: " + treeMap.higherKey(3));
      System.out.println("Value greater than 3: " + treeMap.get(treeMap.higherKey(3)));
      System.out.println("Entry greater than 3: " + treeMap.higherEntry(3));
      System.out.println("Key less than 3: " + treeMap.lowerKey(3));
      System.out.println("Value less than 3: " + treeMap.get(treeMap.lowerKey(3)));
      System.out.println("Entry less than 3: " + treeMap.lowerEntry(3));
   }
}

輸出

Key greater than 3: 4
Value greater than 3: D
Entry greater than 3: 4=D
Key less than 3: 2
Value less than 3: B
Entry less than 3: 2=B

方法二:使用ceilingEntry()和floorEntry()

  • 建立一個TreeMap物件,並使用put()方法新增鍵值對。

  • 使用higherKey()和ceilingEntry()列印大於給定鍵的最小鍵、值和條目

  • 使用lowerKey()和floorEntry()列印小於給定鍵的最大鍵、值和條目

示例

在這個例子中,我們將使用Java提供的不同的內建方法ceilingEntry()和floorEntry()來獲取大於或小於指定值的鍵、值或條目。

import java.util.*;
public class Main {
   public static void main(String[] args) {
      TreeMap<Integer, String> treeMap = new TreeMap<>();
      treeMap.put(1, "A");
      treeMap.put(3, "C");
      treeMap.put(4, "D");
      System.out.println("Key greater than 3: " + treeMap.higherKey(3));
      System.out.println("Value greater than 3: " + treeMap.get(treeMap.higherKey(3)));
      System.out.println("Key less than 3: " + treeMap.lowerKey(3));
      System.out.println("Value less than 3: " + treeMap.get(treeMap.lowerKey(3)));
      System.out.println("Entry greater than  2: " + treeMap.ceilingEntry(2));
      System.out.println("Entry less than  2: " + treeMap.floorEntry(2));
   }
}

輸出

Key greater than 3: 4
Value greater than 3: D
Key less than 3: 1
Value less than 3: A
Entry greater than  2: 3=C
Entry less than  2: 1=A

因此,在本文中,我們討論了查詢TreeMap中大於或小於指定值的鍵、值或條目的不同方法。

更新於:2024年6月25日

769 次瀏覽

啟動你的職業生涯

完成課程後獲得認證

開始
廣告