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