當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Collections checkedNavigableMap()用法及代碼示例


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 checkedNavigableMap() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。