Java Hashmap: How to get key from value?

前端 未结 30 2363
忘掉有多难
忘掉有多难 2020-11-22 02:14

If I have the value \"foo\", and a HashMap ftw for which ftw.containsValue(\"foo\") returns true, how can I

30条回答
  •  梦谈多话
    2020-11-22 03:18

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Set;
    
    public class M{
    public static void main(String[] args) {
    
            HashMap> resultHashMap = new HashMap>();
    
            Set newKeyList = resultHashMap.keySet();
    
    
            for (Iterator iterator = originalHashMap.keySet().iterator(); iterator.hasNext();) {
                String hashKey = (String) iterator.next();
    
                if (!newKeyList.contains(originalHashMap.get(hashKey))) {
                    List loArrayList = new ArrayList();
                    loArrayList.add(hashKey);
                    resultHashMap.put(originalHashMap.get(hashKey), loArrayList);
                } else {
                    List loArrayList = resultHashMap.get(originalHashMap
                            .get(hashKey));
                    loArrayList.add(hashKey);
                    resultHashMap.put(originalHashMap.get(hashKey), loArrayList);
                }
            }
    
            System.out.println("Original HashMap : " + originalHashMap);
            System.out.println("Result HashMap : " + resultHashMap);
        }
    }
    

提交回复
热议问题