请问hashmap中想用值找键该怎么找?

解决方案 »

  1.   

    Set<Entry> entries = map.entry();
    for(Entry entry : entries) {
     if(youObject.equals(entry.getValue())) {
       entry.getKey();//可能会找到多个
     }
    }
      

  2.   

    import java.util.HashMap;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;public class HashTest { /**
     * @param args
     */
    public static void main(String[] args) {
    String val = String.valueOf(1000);

    Map<Integer, String> map = new HashMap<Integer, String>();
    for (int i = 0; i < 100; i++) {
    map.put(Integer.valueOf(i), String.valueOf(i * 100));
    }
    Set<Entry<Integer, String>> entries = map.entrySet();
    for (Entry entry : entries) {
    if (val.equals(entry.getValue())) {
    System.out.println(entry.getKey());
    }
    }
    }}
      

  3.   


    package com.maijunjin.collection;import java.util.HashMap;
    import java.util.Iterator;
    import java.util.LinkedList;public class TestHashMap {
    public static void main(String args[]) {
    HashMap hashMap = new HashMap();
    hashMap.put("44df", "54df");
    hashMap.put("41df", "545df");
    hashMap.put("42df", "54d1f");
    hashMap.put("43df", "54df4");
    hashMap.put("45df", "54df");
    hashMap.put("44d4f", "54dfc");
    hashMap.put("445f", "54dfv");
    hashMap.put("44d8f", "54dfb");
    hashMap.put("44dgf", "54dvf");
    TestHashMap testHashMap = new TestHashMap(hashMap);
    LinkedList countLinkedList = testHashMap.findByKey("54df");
    for (int i = 0; i < countLinkedList.size();i++)
    System.out.println(countLinkedList.get(i));
    } private HashMap hashMap; public TestHashMap(HashMap hashMap) {
    super();
    this.hashMap = hashMap;
    } public LinkedList findByKey(Object o) {
    LinkedList linkedList = new LinkedList();
    Iterator valueIterator = hashMap.values().iterator();
    Iterator keyIterator = hashMap.keySet().iterator();
    for (; valueIterator.hasNext() && keyIterator.hasNext();) {
    Object object = keyIterator.next();
    if (o.equals(valueIterator.next())) {
    linkedList.add(object);
    }
    }
    return linkedList;
    } public HashMap getHashMap() {
    return hashMap;
    } public void setHashMap(HashMap hashMap) {
    this.hashMap = hashMap;
    }
    }
      

  4.   


    package com.maijunjin.collection;import java.util.HashMap;
    import java.util.LinkedList;
    import java.util.Map.Entry;
    import java.util.Set;public class TestHashMap {
    public static void main(String args[]) {
    HashMap hashMap = new HashMap();
    hashMap.put("44df", "54df");
    hashMap.put("41df", "545df");
    hashMap.put("42df", "54d1f");
    hashMap.put("43df", "54df4");
    hashMap.put("45df", "54df");
    hashMap.put("44d4f", "54dfc");
    hashMap.put("445f", "54dfv");
    hashMap.put("44d8f", "54dfb");
    hashMap.put("44dgf", "54dvf");
    TestHashMap testHashMap = new TestHashMap(hashMap);
    LinkedList countLinkedList = testHashMap.findByKey("54df");
    for (int i = 0; i < countLinkedList.size();i++)
    System.out.println(countLinkedList.get(i));
    } private HashMap hashMap; public TestHashMap(HashMap hashMap) {
    super();
    this.hashMap = hashMap;
    } public LinkedList findByKey(Object o) {
    LinkedList linkedList = new LinkedList();
    Set<Entry> entries = hashMap.entrySet();
    for(Entry entry : entries) {

     if(o.equals(entry.getValue())) {
      linkedList.add(entry.getKey());//可能会找到多个
     }
    } return linkedList;
    } public HashMap getHashMap() {
    return hashMap;
    } public void setHashMap(HashMap hashMap) {
    this.hashMap = hashMap;
    }
    }