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 次浏览

启动你的职业生涯

完成课程后获得认证

开始
广告