簡體   English   中英

如何在Java中使用單個鍵的值列表形成Hashmap

[英]How to form Hashmap with list of values for a single key in Java

我正在從數據庫中獲取Employee DOBDepartment name 然后,我正在處理DOB以獲取使用年齡。

Map<String,ArrayList<Integer>> emp = new HashMap<String,ArrayList<Integer>>()

          while(rs.next()){ 

            //rs is resultset of DB Query               
            String dob = rs.getString(1);
            //Calculating age in variable age
        age = age of employee from DOB

    emp = addIntoMap(emp,rs.getString(2),age);

        }

    public Map<String, List<Integer>> addIntoMap(Map<String, List<Integer>> emp, String key, Integer value) {
        List<Integer> list = emp.get(key);
        if (list == null) {
            list = new ArrayList<Integer>();
            emp.put(key, list);
        }
        list.add(value);
    return emp;

    }

現在,我想構造一個<Department_Name,ArrayList<Age of emplyees>>類型的HashMap。 這里dperamtnet_name是密鑰,對於每個密鑰,我都希望列出員工年齡

我知道使用Map<String,ArrayList<Integer>> emp = new HashMap<String,ArrayList<Integer>>()我可以構造一個多哈希表,但是如何為每個鍵設置年齡值?

創建您自己的方法以在地圖中添加元素:

public void addIntoMap(Map<String, List<Integer>> emp, String key, Integer value) {
    List<Integer> list = emp.get(key);
    if (list == null) {
        list = new ArrayList<Integer>();
        emp.put(key, list);
    }
    list.add(value);
}

如果您不想/不需要處理這些問題,請使用Guava的MultiMap

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM