精华内容
下载资源
问答
  • 2019-01-07 18:01:00
    List<Student> arrayList = new ArrayList<Student>();
    		for (int i = 1; i < 5; i++) {
    			Student student = new Student();
    			student.setId(i);
    			arrayList.add(student);
    		}
    		System.err.println(arrayList);
    		Map<Integer, String> map = new HashMap<Integer, String>();
    		map.put(3, "小王");
    		map.put(4, "小宋");
    		map.put(1, "小白");
    		map.put(2, "小陈");
    		for (Student student : arrayList) {
    			student.setName(map.get(student.getId()));
    		}
    		System.out.println(arrayList);
    

    打印结果:
    [Student [id=1, name=], Student [id=2, name=], Student [id=3, name=], Student [id=4, name=]]
    [Student [id=1, name=小白], Student [id=2, name=小陈], Student [id=3, name=小王], Student [id=4, name=小宋]]

    更多相关内容
  • 不知key取map里的value值——用map.keySet() 不知key取map里的value值——用Iterator 迭代 不知key取map里的value值——用map.entrySet() 源码 运行结果 总结 根据key取其value Map&amp;lt;String,...

    根据key取其value

    Map<String, String> map = new HashMap<String, String>();
            map.put("b", "4");
            map.put("a", "5");
            map.put("c", "3");
            map.put("d", "5");
         // 根据key获取 其value
            System.out.println("通过key获取 其value");
            System.out.println("key 'what'的value为:"+map.get("a")+"\n");

    不知key取map里的value值——用map.keySet()

     //map.keySet() 先获取map对象的所有key值,再循环遍历获取各个key对应的value;
            System.out.print("通过 map.keySet() 得到key,然后获取value\n");
            for(String key : map.keySet()){
                String value = map.get(key);
                System.out.println(key+"  "+value);
            }

    不知key取map里的value值——用Iterator 迭代

    //使用迭代器,获取key;
            System.out.print("通过迭代器,获取key,然后获取value\n");
            Iterator<String> iter = map.keySet().iterator();
            while(iter.hasNext()){
                String key=iter.next();
                String value = map.get(key);
                System.out.println(key+" "+value);
            }

    不知key取map里的value值——用map.entrySet()

            //通过map.entrySet()方法
            System.out.print("通过map.entrySet()循环map里面的每一对键值对,然后获取key和value\n");
            for(Map.Entry<String, String> vo : map.entrySet()){
                vo.getKey();
                vo.getValue();
                System.out.println(vo.getKey()+"  "+vo.getValue());
            }

    源码

    public class Maptest {
    
        public static void main(String[] args) {
            Map<String, String> map = new HashMap<String, String>();
            map.put("b", "4");
            map.put("a", "5");
            map.put("c", "3");
            map.put("d", "5");
    
            //  获取指定 key 的value
            System.out.println("通过key获取 其value");
            System.out.println("key 'what'的value为:"+map.get("a")+"\n");
            // 获取map的所有key
            System.out.print("获取map的所有key\n");
            System.out.print("map.keySet():"+map.keySet()+"\n");
            //获取map中所有 value
            System.out.print("获取map中所有 value\n");
            System.out.print("map.values():"+  map.values()+"\n");
    
            //通过 map.keySet() 得到key的值,然后获取value;
            System.out.print("通过 map.keySet() 得到key,然后获取value\n");
            for(String key : map.keySet()){
                String value = map.get(key);
                System.out.println(key+"  "+value);
            }
            //使用迭代器,获取key;
            System.out.print("通过迭代器,获取key,然后获取value\n");
            Iterator<String> iter = map.keySet().iterator();
            while(iter.hasNext()){
                String key=iter.next();
                String value = map.get(key);
                System.out.println(key+" "+value);
            }
            //通过map.entrySet()方法
            System.out.print("通过map.entrySet()循环map里面的每一对键值对,然后获取key和value\n");
            for(Map.Entry<String, String> vo : map.entrySet()){
                vo.getKey();
                vo.getValue();
                System.out.println(vo.getKey()+"  "+vo.getValue());
            }
    
    }
    }
    

    运行结果

    通过key获取 其value
    key 'a'value为:5
    
    获取map的所有key
    map.keySet():[a, b, c, d]
    获取map中所有 value
    map.values():[5, 4, 3, 5]
    通过 map.keySet() 得到key,然后获取value
    a  5
    b  4
    c  3
    d  5
    通过迭代器,获取key,然后获取value
    a 5
    b 4
    c 3
    d 5
    通过map.entrySet()循环map里面的每一对键值对,然后获取key和value
    a  5
    b  4
    c  3
    d  5

    总结

    待续

    展开全文
  • 记一次根据map中的value取key值的过程

    千次阅读 2019-05-16 17:13:22
    在一次项目中要用到根据当前对象的id查询出当前对象的信息,以及当前对象所在数据库表中根据名称排序后的上一个对象以及下一个对象的id,即:上一个对象id+当前对象信息+下一个对象id 结构如图: 首根据...

            适用场景: vaue值不重复场景

            在一次项目中要用到根据当前对象的id查询出当前对象的信息,以及当前对象所在数据库表中根据名称排序后的上一个对象以及下一个对象的id值,即:上一个对象id+当前对象信息+下一个对象id  值

    结构如图:

     

        首根据id查询当前对象的信息直接就能查询出来,之后就是根据当前id查询根据名称排序后之后当前id的前后对象id.

    第二步查询对象所在表的全部id形成一个list

    然后将遍历list,将每个list的值作为value值存进linkedHashMap中

            // 获取对象id
           list中的数据是从数据库中根据名称排序查询出来的
    		List<Long> list = rgDevLightExtMapper.selectAllCrossId();
    		int num = 1;
    		Map<Integer, Long> map = new LinkedHashMap<>();
    		for (int i = 0; i < list.size(); i++) {
    			map.put(num, llist.get(i));
    			num++;
    		}
    		// 根据value取key值
    		Integer key = null;
    		for (Map.Entry<Integer, Long> m : map.entrySet()) {
    			if (m.getValue().equals(当前对象Id)) {
    				key = m.getKey();
    			}
    		}
    //根据key值取value值 上一个对象id
    Long lastId = map.get(key-1);
    //根据key值取value值 下一个对象id
    Long nextId = map.get(key+1)
    

    最后再将这两个值一起set进含有当前对象的信息的总对象,然后返回总对象

    另外一种方法根据value值取key值

    //根据value取key值
    public static int getKey(char value)//根据字符得到对应的编码
    {
    int key = 0;
     Set<Map.Entry<Integer, Character>> set = map.entrySet();  
            for(Entry<Integer, Character> entry : set){  
                if(entry.getValue().equals(value)){  
                    key = entry.getKey();  
                    break;  
                }  
            }   
    
    return key;
    }

     

     

     

     

     

     

     

     

     

    展开全文
  • Map是通过键值对来储存数据的(keyvalue),数据可以根据key映射到它的valueMap&lt;Integer,String&gt; keyAndValue = new LinkedHashMap&lt;&gt;(); keyAndValue.put(1,"重复数据&...

      Map是通过键值对来储存数据的(key和value),数据可以根据key映射到它的value;

    Map<Integer,String> keyAndValue = new LinkedHashMap<>();
                keyAndValue.put(1,"重复数据");
                keyAndValue.put(2,"重复数据");
                keyAndValue.put(3,"重复数据");
                keyAndValue.put(4,"特有数据");
    •   当要取key对应的值时是比较简单的,通过 get(key)方法就可以取到值,如通过
      String value = keyAndValue.get(1)

      即可得到key为1时,Map对应的数据,即此时 value的值为  重复数据;

    • 当要根据值取key时,就没有上面的直接的方法,而是要经过遍历获取
      String valueWanted = "重复数据";
      List<Integer> keyList = new ArrayList<>();
      for (Map.Entry<Integer,String> keyEntry : keyAndValue.entrySet()) {
            Integer keyWanted = 0;
            String getValue = keyEntry.getValue();
            if (valueWanted.equals(getValue)){
                    keyWanted = keyEntry.getKey();
                    keyList.add(keyWanted);
                    }
          }

      根据此方法则可得到满足条件的key的一个List;

    • 当需要满足一定条件的key时,可以在上一方法遍历时的 if 里条件判断加上相应的约束;也可以查找到一个符合条件的key的时候 break 跳出循环,即可限制只返回一个key;

    • 思路:当涉及先后操作的时候,可以取不同记录的开始时间来进行比较,以获得想要的数据。

      if (nextId.equals(Id)&& actHiActinstStartTime >= hisStartTime){
           key = actHiActinstEntry.getKey();
           break;
         }

       

    • 另外,当返回所有满足条件的key的一个集合的时候,也可以调用集合原有的方法来筛选自己想要的数据

      Collections.max(keyList);
      Collections.min(keyList);

      如以上两个方法,分别可以获得返回集合的最大值、最小值。

    展开全文
  • 1,根据指定value 取keyString resultKey;String str = "固定value";Map&lt;String,String&gt; map = new HashMap&lt;String,String&gt;();map.put("key","value");//...
  • java中map怎么根据key值修改value值

    千次阅读 2021-02-12 14:30:05
    展开全部java:Map param = new HashMap();param.put("a","3333");System.out.println(param.get("a")); //3333if(param.containsKey("a")){param.put("a", "565");}System.out.println...//565map就类似于你往...
  • java里面获取mapkeyvalue的方法

    万次阅读 2021-02-12 11:43:20
    获取mapkey和value的方法分为两种形式:map.keySet():先获取mapkey,然后根据key获取对应的value;map..entrySet():同时查询mapkey和value,...注意:当mapvalue值相等时,根据key值进行排序public class ...
  • C++ map 根据valuekey根据keyvalue

    万次阅读 2019-01-10 17:35:07
    根据 valuekey  有可能找到多个结果 根据keyvalue  、、、、、、 运行效果: 代码很简单,如下: #include&lt;iostream&gt; #include&lt;map&gt; #include&lt;string&gt;...
  • 展开全部java:Map param = new HashMap();param.put("a","3333");System.out.println(param.get("a")); //3333if(param.containsKey("a")){param.put("a", "565");}System.out.println(param...//565map就类e68a...
  • Map集合中获取key-value值的方法

    千次阅读 2021-04-18 17:30:40
    当调用put(K key,V value)方法把数据存到Map中后,如何把Map中的key值和value值取出来呢?都有哪几种取值的方法呢?下边就来一一介绍。 一、前置准备 以HashMap为例,先为map中存入几个数据,以便于后边对map的取值...
  • Map中已知Key,如何改Value

    千次阅读 2022-02-24 02:57:54
    直接重新 put 一个相同 key 的就行,value会自动覆盖。 HashMap<Integer,String> hs = new HashMap<Integer, String>(); hs.put(1,"张三"); System.out.println(hs.toString()); hs.put(2,"李四")...
  • map集合如何根据key更新value值

    万次阅读 2019-11-30 15:42:41
    心态决定命运 解惑 直接 Map.put(key, value); 就行,如果键已存在,就会用新的替换掉原先的
  • 展开全部获取mapkey和value的方法分为以下62616964757a686964616fe4b893e5b19e31333366306439两种形式:1、map.keySet():先获取mapkey,然后根据...注意:当mapvalue值相等时,根据key值进行排序很多人都推荐...
  • 2.向map中放,注意:mapkey-value的形式存放的.如:map.put(”sa”,”dd”);3.从map中取值:String str = map.get(”sa”).toString();结果是:str = ”dd”;4.遍历一个map,从中取得keyvalueMap map = new ...
  • go语言中根据mapkey值获取value

    千次阅读 2018-06-04 08:46:00
    那么captial就是对应的value值,如果不存在(ok == false), 那么captial就是对应类型的零值,这里就是字符串的零值:""   转载于:https://my.oschina.net/guiguketang/blog/1823605
  • c++容器map根据key求得对应value值

    千次阅读 2015-05-19 10:23:14
    value=map[key]
  • Map获取keyvalue的方法

    千次阅读 2021-04-22 15:15:27
    Map<Integer,String>...1.先用keyset()方法获得所有key值,再根据key获取对应value值map.get(key)方法 for(Integer key : map.keyset()){ map.get(key) System.out.println("key值为:"+key); Syste.
  • Vue 循环map对象拿到key值和value值

    千次阅读 2020-09-30 16:17:27
    适用场景: vue中定义的map对象 map : { name : 'xxx' } 接口回显map格式的数据 data :{ key : value} 都可以通过以下方式拿到keyvalue ...console.log("key名称是:"+key+",key是:"+map[key]) } ...
  • Java获取mapkeyvalue的方法

    千次阅读 2021-04-08 08:08:46
    最近项目技术转型,开始使用java来写...java中获取mapkeyvalue的方式有两种:map.keySet() : 先获取map中的key,然后根据key获取valuemap.entrySet() : 获取map中的keyvalue,只需查询一次。map.keySet()for...
  • c++获取map中的元素,key值和value值

    千次阅读 2022-04-14 10:14:09
    c++获取map中的元素,key值和value值 我需要的是得到map中的key和value,很简单的东西。网上搜出来的都是keyset()方法。 解决: map1->first; map1->second;
  • 【Java】Map遍历key-value的四种方法

    千次阅读 2022-03-20 21:55:09
    Map遍历key-value的四种方法 (1)先用keySet()取出所有key值,再取出对应value——增强for循环遍历 (2)先用keySet()取出所有key值,再取出对应value——使用迭代器遍历 (3)通过entrySet来获取key-value——增强...
  • C++ map通过key获取value

    万次阅读 2018-09-15 20:03:49
    一般是value =map[key],或者另一种迭代器的方式 ...如果map包含key,没有问题,如果map不包含key,使用下标有一个危险的副作用,会在map中插入一个key的元素,value取默认值,返回value。也就是说,map[key]不可能...
  • map--已知key取对应value

    千次阅读 2017-05-22 11:40:31
    map 已知key 取值value
  • Map根据value值进行分组

    千次阅读 2021-03-15 22:35:24
    今天碰到同事在群里问怎么把一个Map根据value进行分组,当时我的第一想法是将valuekey互换,多个value对应的不同key作为集合,代码如下:12MapSataMap=new HashMap<>();final Map> groupMap = new ...
  • 根据key删除Map集合中的key-value映射

    千次阅读 2021-02-12 20:29:56
    一:在遍历Map时是不可以删除key-value映射的,如果根据key删除,如下:public static void main(String[] args) {Map paramsMap = getMap();deleteKeyError(paramsMap);}private static void deleteKeyError(Map ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 824,228
精华内容 329,691
关键字:

map根据key取value的值