繁体   English   中英

如何通过使用Hashmap中的键来检索值 <String, String> ?

[英]How to retrive Value by using key from Hashmap<String, String>?

这是我的代码:

public static HashMap<String, ArrayList<String>> CountryMap = new HashMap<String, ArrayList<String>>();

ArrayList<String> stateInd = new ArrayList<String>();
ArrayList<String> stateUSA = new ArrayList<String>();
stateInd.add("GJ");
stateInd.add("MP");
stateUSA.add("NJ");
stateUSA.add("NY");

CountryMap.put("India",stateInd);            
CountryMap.put("USA",stateUSA);

for(int i=0;i<CountryMap.size();i++){
    for (Entry<String, ArrayList<String>> entry : CountryMap.entrySet()) {
        if (entry.getKey().equals("India") {
            ArrayList<String> result = new ArrayList<String>();             
            # how to add Value of CountryMap with "India" as a Key to result ArrayList??
        }
    }
}

我想将哈希值添加到另一个以“印度”为键的ArrayList中的值吗?

我试过了..

result.add(CountryMap.get("India"));

但这没有用。 它添加所有值。

解决方案1:

    result.addAll(CountryMap.get("India"));

解决方案2:

    result.add(CountryMap.get("India").toString());

请尝试看看所有引发的功能和异常。 回复是否有效

public class NewClass4{
 public static HashMap<String, ArrayList<String>> CountryMap = new HashMap<String, ArrayList<String>>();
    public static void main(String[] args)
    {
        ArrayList<String> stateInd = new ArrayList<String>();
        ArrayList<String> stateUSA = new ArrayList<String>();
        stateInd.add("GJ");
        stateInd.add("MP");
        stateUSA.add("NJ");
        stateUSA.add("NY");

        CountryMap.put("India",stateInd);            
        CountryMap.put("USA",stateUSA);

        ArrayList<String> result = new ArrayList<String>();
        result=CountryMap.get("India");
        if(result!=null){
            // means CountryMap contain key "India"
        }
    }
}

嗨,我知道这已经快一个月了,但我忍不住想了一下。 如果我正确回答您的问题,解决方案将非常简单。

public static void main(String[] args) {
        HashMap<String, ArrayList<String>> CountryMap = new HashMap<String, ArrayList<String>>();

        ArrayList<String> stateInd = new ArrayList<String>();
        ArrayList<String> stateUSA = new ArrayList<String>();
        ArrayList<String> result = new ArrayList<String>();
        stateInd.add("GJ");
        stateInd.add("MP");
        stateUSA.add("NJ");
        stateUSA.add("NY");

        CountryMap.put("India",stateInd);            
        CountryMap.put("USA",stateUSA);


        for (String key: CountryMap.keySet()){

            if (key.equals("India")){
                result.add(key);
            }
        }

        for (String country: result){
            System.out.print("\n"+country+" ");
        }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM