Java在Map
接口中提供了泛型的支持。
语法
Map<T> map = new HashMap<T>();
在上面代码中,
Map
接口的对象。Map
声明期间传递的泛型类型参数。T是传递给泛型接口Map
及其实现类HashMap
的类型参数。
使用您喜欢的编辑器创建以下java程序,并保存到文件:GenericsMap.java 中,代码如下所示 -
package com.zyiz; 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