Java程序:获取TreeMap中大于或小于指定值的键、值或条目
一个TreeMap是Java提供的实现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中大于或小于指定值的键、值或条目的不同方法。