heckedNavigableMap() 是 Java Collections 类的内置方法。此方法用于获取指定 Navigable Map 的动态类型安全视图。如果尝试插入键或值类型错误的映射,将立即导致 ClassCastException。
用法
以下是 heckedNavigableMap() 方法的声明:
public static <K,V> NavigableMap<K,V> checkedNavigableMap(NavigableMap<K,V> m, Class<K> keyType, Class<V> valueType)
参数
参数 | 描述 | 必需/可选 |
---|---|---|
m | 它是要为其返回动态类型安全视图的映射。 | Required |
keyType | 它是允许映射 m 持有的 key 类型。 | Required |
valueType | 它是允许映射 m 持有的值的类型。 | Required |
返回
checkedNavigableMap() 方法返回指定 Navigable Map 的动态类型安全视图。
异常
ClassCastException
兼容版本
Java 1.8 及更高版本。
例子1
import java.util.*;
public class CollectionsCheckedNavigableMapExample1 {
public static void main(String[] args) {
NavigableMap<String, Integer> hmap = new TreeMap<>();
//Insert values in the Map
hmap.put("A", 11);
hmap.put("B", 12);
hmap.put("C", 13);
hmap.put("V", 14);
//Create type safe view of the Map
System.out.println("Type safe view of the Navigable Map is:"+Collections.checkedNavigableMap(hmap,String.class,Integer.class));
}
}
输出:
Type safe view of the Navigable Map is:{A=11, B=12, C=13, V=14}
例子2
import java.util.*;
public class CollectionsCheckedNavigableMapExample2 {
public static void main(String[] args) {
NavigableMap<Integer, String> map = new TreeMap<>();
map = Collections.checkedNavigableMap(map, Integer.class, String.class);
map.put(1, "One");
map.put(2, "Two");
map.put(3, "Three");
System.out.println("Navigable Map Element:"+map);
Map map2 = map;
//map2.put("Four", 4);
map2.put(4, 100);
System.out.println("New Navigable Map Element:"+map2);
}
}
输出:
Navigable Map Element:{1=One, 2=Two, 3=Three} Exception in thread "main" java.lang.ClassCastException:Attempt to insert class java.lang.Integer value into map with value type class java.lang.String at java.base/java.util.Collections$CheckedMap.typeCheck(Collections.java:3578) at java.base/java.util.Collections$CheckedMap.put(Collections.java:3621) at myPackage.CollectionCheckedNavigableMapExample2.main(CollectionCheckedNavigableMapExample2.java:13)
例子3
package myPackage;
import java.util.*;
public class CollectionsCheckedNavigableMapExample3 {
public static void main(String[] args) {
NavigableMap<String, Integer> hmap = new TreeMap<>();
//Insert values in the Map
hmap.put("A", 11);
hmap.put("B", 12);
hmap.put("C", 13);
hmap.put("V", 14);
System.out.println("Type safe view of the Navigable Map1 is:"+Collections.checkedNavigableMap(hmap,String.class,Integer.class));
NavigableMap<Integer, String> hashmap = new TreeMap<>();
hashmap.put(11, "A");
hashmap.put(12, "B");
hashmap.put(11, "A");
hashmap.put(12, "B");
//Create type safe view of the Map
System.out.println("Type safe view of the Navigable Map2 is:"+Collections.checkedNavigableMap(hashmap,Integer.class,String.class));
}
}
输出:
Type safe view of the Navigable Map1 is:{A=11, B=12, C=13, V=14} Type safe view of the Navigable Map2 is:{11=A, 12=B}
相关用法
- Java Collections checkedNavigableSet()用法及代码示例
- Java Collections checkedQueue()用法及代码示例
- Java Collections checkedSet()用法及代码示例
- Java Collections checkedMap()用法及代码示例
- Java Collections checkedSortedMap()用法及代码示例
- Java Collections checkedSortedSet()用法及代码示例
- Java Collections checkedCollection()用法及代码示例
- Java Collections checkedList()用法及代码示例
- Java Collections copy()用法及代码示例
- Java Collections synchronizedSortedSet()用法及代码示例
- Java Collections unmodifiableNavigableSet()用法及代码示例
- Java Collections synchronizedNavigableSet()用法及代码示例
- Java Collections singleton()用法及代码示例
- Java Collections fill()用法及代码示例
- Java Collections nCopies()用法及代码示例
- Java Collections emptySet()用法及代码示例
- Java Collections newSetFromMap()用法及代码示例
- Java Collections addAll()用法及代码示例
- Java Collections sort()用法及代码示例
- Java Collections emptySortedSet()用法及代码示例
注:本文由纯净天空筛选整理自 Java Collections checkedNavigableMap() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。