- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Map.Entry;
- public class Value2Key {
- //待反查的Map数据成员
- private Map<Object,Object> map=new HashMap<Object,Object>();
- //构造方法
- public Value2Key(Map<Object,Object> map){
- this.map=map;
- }
- //反查
- public List<Object> getKeys(Object value){
- ArrayList<Object> keys=new ArrayList<Object>();
- for(Entry<Object,Object> entry:this.map.entrySet()){
- if(value.equals(entry.getValue())){
- keys.add(entry.getKey());
- }else{
- continue;
- }
- }
- return keys;
- }
- //测试代码
- public static void main(String[] args) {
- HashMap<Object, Object> map = new HashMap<Object, Object>();
- map.put(1, "a");
- map.put(2, "d");
- map.put(3, "a");
- map.put(4, "b");
- map.put(5, "a");
- //构造反查器实例
- Value2Key searcher=new Value2Key(map);
- for(Object obj:searcher.getKeys("a")){
- System.out.println(obj);
- }
- }
- }
如何能通过hashmap的value来返回其对应的键值key
最新推荐文章于 2024-07-14 08:09:55 发布