您现在的位置是:java学习笔记 >
java学习笔记
[代码] 从Java中的Map获取子Map的3中方法
本 文 目 录
1、从Java中的Map获取子Map的方法
以下是可以从Java的Map中获取子Map的方法,这些方法都属于java.util.NavigableMap
接口。值得注意的是,HashMap
并不直接支持这些方法,但TreeMap
和ConcurrentSkipListMap
等实现了NavigableMap
接口的类可以使用这些方法。
方法名 | 参数 | 描述 |
---|---|---|
subMap(K fromKey, K toKey) |
两个参数分别表示子Map的键的范围,均为包含性边界。 | 返回此映射的部分视图,其键的范围在fromKey(包括)和toKey(包括)之间。 |
headMap(K toKey) |
一个参数,表示子Map的最大键,不包含该键。 | 返回此映射的部分视图,其键严格小于toKey。 |
tailMap(K fromKey) |
一个参数,表示子Map的最小键,包含该键。 | 返回此映射的部分视图,其键大于等于fromKey。 |
2、方法的具体使用和代码展示
subMap(K fromKey, K toKey)
NavigableMap<Integer, String> map = new TreeMap<>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
map.put(4, "d");
map.put(5, "e");
NavigableMap<Integer, String> subMap = map.subMap(2, 4);
for (Map.Entry<Integer,String> entry : subMap.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
- subMap(K fromKey, K toKey) 总结:这段代码会输出键为2到3的条目,注意这里是左闭右开区间。
- 创建一个TreeMap实例并向其中添加数据。
- 调用subMap(K fromKey, K toKey)方法,获取键在指定范围内的子映射。
- 注意范围是左闭右开,即包括fromKey但不包括toKey。
- 可以遍历子映射来查看其中包含的数据。
headMap(K toKey)
NavigableMap<Integer, String> map = new TreeMap<>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
map.put(4, "d");
map.put(5, "e");
NavigableMap<Integer, String> headMap = map.headMap(3);
for (Map.Entry<Integer,String> entry : headMap.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
- headMap(K toKey) 总结:这段代码会输出键小于3的条目。
- 创建一个TreeMap实例并向其中添加数据。
- 调用headMap(K toKey)方法,获取键小于指定值的子映射。
- 通过遍历子映射,可以查看所有小于toKey的键值对。
tailMap(K fromKey)
NavigableMap<Integer, String> map = new TreeMap<>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
map.put(4, "d");
map.put(5, "e");
NavigableMap<Integer, String> tailMap = map.tailMap(3);
for (Map.Entry<Integer,String> entry : tailMap.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
- tailMap(K fromKey) 总结:这段代码会输出键大于等于3的条目。
- 创建一个TreeMap实例并向其中添加数据。
- 调用tailMap(K fromKey)方法,获取键大于等于指定值的子映射。
- 通过遍历子映射,可以查看所有大于等于fromKey的键值对。
- 上一篇
货币的数据中将string(字符串)转bigdecimal
在Java中,String到BigDecimal的转换主要依赖于BigDecimal类的构造函数。这个构造函数接受一个字符串参数,并使用该字符串的格式来初始化一个新的BigDecimal对象。在转换过程中,如果字符串包含非数字字符,那么这些字符将被忽略。此外,如果字符串包含小数点或指数表示法,那么这些格式将被转换为BigDecimal类可以理解的格式。
- 下一篇
Java String equalsIgnoreCase() 学习笔记
**Java String equalsIgnoreCase() 学习笔记**## 一、理解equalsIgnoreCase()方法* `equalsIgnoreCase()`是Java `String`类中的一个方法。它的主要功能是比较两个字符串是否相等,同时忽略它们的大小写。* 它的返回值是一个布尔值,当两个字符串相等(不考虑大小写)时返回true,否则返回false。## 二、为何使用equ