Get keys corresponding to a value from a MapTag(s): Language
This method returns a List of the keys corresponding to a given value.
[Java 5]
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MapUtils {
private MapUtils() {}
public static List<Object> getKeysFromValue(Map<?, ?> hm, Object value){
List <Object>list = new ArrayList<Object>();
for(Object o:hm.keySet()){
if(hm.get(o).equals(value)) {
list.add(o);
}
}
return list;
}
public static void main(String[] argv) {
Map<String, String> map = new HashMap<String, String>();
map.put("1","Homer");
map.put("2","Marge");
map.put("3","Bart");
map.put("4","Maggie");
map.put("5","Bart");
System.out.println(MapUtils.getKeysFromValue(map,"Bart"));
}
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class MapUtils {
private MapUtils() {}
public static List getKeysFromValue(Map hm,Object value){
Set ref = hm.keySet();
Iterator it = ref.iterator();
List list = new ArrayList();
while (it.hasNext()) {
Object o = it.next();
if(hm.get(o).equals(value)) {
list.add(o);
}
}
return list;
}
public static void main(String[] args) {
Map map = new HashMap();
map.put("1","Homer");
map.put("2","Marge");
map.put("3","Bart");
map.put("4","Maggie");
map.put("5","Bart");
System.out.println(MapUtils.getKeysFromValue(map,"Bart"));
}
}
mail_outline
Send comment, question or suggestion to howto@rgagnon.com
Send comment, question or suggestion to howto@rgagnon.com