Java泛型映射(Map)
Java在Map
接口中提供了泛型的支持。
語法
Map<T> map = new HashMap<T>();
在上面代碼中,
- map -
Map
接口的對象。 - T - 在
Map
聲明期間傳遞的泛型類型參數。
描述
T是傳遞給泛型接口Map
及其實現類HashMap
的類型參數。
示例
使用您喜歡的編輯器創建以下java程序,並保存到文件:GenericsMap.java 中,代碼如下所示 -
package com.yiibai;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class GenericsMap {
public static void main(String[] args) {
Map<Integer, Integer> integerMap = new HashMap<Integer, Integer>();
integerMap.put(1, 10);
integerMap.put(2, 11);
Map<String, String> stringMap = new HashMap<String, String>();
stringMap.put("1", "This is my String value of 1");
stringMap.put("k1", "Key-One-Value");
stringMap.put("k2", "Key-Two-Value");
stringMap.put("k2", "Key-Two-Value");
stringMap.put("jdk", "JDK 1.8");
stringMap.put("py", "Python 3.5.6");
System.out.printf("Integer Value :%d\n", integerMap.get(1));
System.out.printf("String Value :%s\n", stringMap.get("1"));
// iterate keys.
Iterator<Integer> integerIterator = integerMap.keySet().iterator();
while (integerIterator.hasNext()) {
System.out.printf("Integer Value :%d\n", integerIterator.next());
}
// iterate values.
Iterator<String> stringIterator = stringMap.values().iterator();
while (stringIterator.hasNext()) {
System.out.printf("String Value :%s\n", stringIterator.next());
}
}
}
執行上面代碼,得到以下結果 -
Integer Value :10
String Value :This is my String value of 1
Integer Value :1
Integer Value :2
String Value :This is my String value of 1
String Value :Python 3.5.6
String Value :JDK 1.8
String Value :Key-One-Value
String Value :Key-Two-Value