-
2019-10-16 10:16:43
redis中通过redisTemplate存放后再修改map值,遍历Map,同时得到map里面value对象的属性值
代码(分为三个测试):
@Autowired private RedisTemplate redisTemplate; @Test public void test03(){ Map<String, Object> map = new HashMap(); map.put("123","商品1"); map.put("124","商品2"); map.put("125","商品3"); Store store = new Store(); store.setBusinessLicense("测试商品1"); map.put("126",store); redisTemplate.opsForValue().set("1",map); Map<String, Object> o = (Map)redisTemplate.opsForValue().get("1"); for (Map.Entry<String, Object> entry : o.entrySet()) { String mapKey = entry.getKey(); Object mapValue = entry.getValue(); System.out.println("key= "+mapKey+" ,value= "+mapValue); } System.out.println("~~~~~~~~~~~~~~~~~~~~~~测试一结束(遍历redis存放的map)~~~~~~~~~~~~~~~~~~~~~~~~"); Map<String, Object> map1 = new HashMap(); map1.put("123","商品1"); map1.put("124","商品2"); map1.put("125","商品4"); map1.put("126","商品5"); Store store1 = new Store(); store1.setBusinessLicense("测试商品2"); map1.put("136",store1); redisTemplate.opsForValue().set("1",map1,10, TimeUnit.MINUTES); Map<String, Object> k = (Map)redisTemplate.opsForValue().get("1"); for (Map.Entry<String, Object> entry : k.entrySet()) { String mapKey = entry.getKey(); Object mapValue = entry.getValue(); System.out.println("key= "+mapKey+" ,value= "+mapValue); } System.out.println("~~~~~~~~~~~~~~~~~~~~~~测试二结束(修改redis里面的map)~~~~~~~~~~~~~~~~~~~~~~~~"); Map<String, Object> m = (Map)redisTemplate.opsForValue().get("1"); JSONObject jsonObject = (JSONObject)m.get("136"); Store s = JSONObject.toJavaObject(jsonObject, Store.class); System.out.println(s.getBusinessLicense()); System.out.println("~~~~~~~~~~~~~~~~~~~~~~测试三结束(取map里面存放的map对象的一个属性值)~~~~~~~~~~~~~~~~~~~~~~~~"); }
更多相关内容 -
List<Map>遍历修改map值
2018-12-04 16:11:09list2 覆盖 list1 对应的值, 无对应时默认list的值,(list1.size()大于list2,只是counts 值不同) list1 [{levels=1, counts=0}, {levels=2, counts=0}, {levels=3, counts=0}] list2 [{levels=1, counts=2...有个小需求:
list2 覆盖 list1 对应的值, 无对应时默认list的值,(list1.size()大于list2,只是counts 值不同)
list1 [{levels=1, counts=0}, {levels=2, counts=0}, {levels=3, counts=0}]
list2 [{levels=1, counts=2}, {levels=3, counts=12}]
结果: list1 [{levels=1, counts=2}, {levels=2, counts=0}, {levels=3, counts=12}]@Test public void test2() { //模拟数据 List<Map<String, Object>> historyList = new ArrayList<Map<String,Object>>(); for(int i = 0; i < 3; i++) { Map<String, Object> tempMap = new HashMap<>(); tempMap.put("levels", String.valueOf(i+1)); tempMap.put("counts", "0"); historyList.add(tempMap); } System.out.println("historyList: "+ historyList.toString()); List<Map<String, Object>> tempList = new ArrayList<Map<String,Object>>(); for(int i = 0; i < 2; i++) { Map<String, Object> tempMap = new HashMap<>(); tempMap.put("levels", String.valueOf(i+1)); tempMap.put("counts", i+5); tempList.add(tempMap); } //修改值 if(tempList.size() > 0) { for (Map<String, Object> map : historyList) { String key = String.valueOf(map.get("levels")); String value = String.valueOf(map.get("counts")); for (Map<String, Object> tempmap : tempList) { String tempkey = String.valueOf(tempmap.get("levels")); String tempvalue = String.valueOf(tempmap.get("counts")); if(tempkey.equals(key)) { value = tempvalue; break; } } map.put("counts", value); } int upcount = 0; for (Map<String, Object> map : tempList) { upcount += Integer.parseInt(String.valueOf(map.get("counts"))); } System.out.println(upcount); } System.out.println("tempList: "+ tempList.toString()); System.out.println("historyList: "+ historyList.toString()); }
结果:
-
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:
Map param = new HashMap();
param.put("a","3333");
System.out.println(param.get("a")); //3333
if(param.containsKey("a")){
param.put("a", "565");}
System.out.println(param.get("a"));//565
map存值就类似于你往一个瓶子中放东西,而key就是标签,value就是其中放的东西,而取值的时候就相当于取62616964757a686964616fe59b9ee7ad9431333365643661东西,你要知道所要取的东西的标签才可以取东西,也就是map.get("key")。
Map是成对放的,一放一对。。分成KEY和VALUE
Map分为HashMap或Hashtable、LinkedHashMap和TreeMap几个,
其中HashMap是新版的,线程不安全的,Hashtable是线程安全的。
Map是一种把键对象和值对象进行关联的容器,而一个值对象又可以是一个Map,依次类推,这样就可形成一个多级映射。对于键对象来说,像Set一样,一个Map容器中的键对象不允
-
遍历Map集合、修改Map集合中的value值
2020-12-31 09:44:18Map集合用于储存元素对,Map储存的是一对键值(key和value),是通过key映射到它的valuevalues(): 是获取集合中的所有的值----没有键,没有对应关系。KeySet(): 将Map中所有的键存入到set集合中。因为set具备迭代器。...Map集合是基于java核心类——java.util中的;
Map集合用于储存元素对,Map储存的是一对键值(key和value),是通过key映射到它的value
values() : 是获取集合中的所有的值----没有键,没有对应关系。
KeySet() : 将Map中所有的键存入到set集合中。因为set具备迭代器。所有可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的值。 迭代后只能通过get()取key 。
entrySet():是返回此映射中包含的映射关系的 Set 视图。 Map.Entry表示映射关系,迭代后可以e.getKey(),e.getValue()取key和value。返回的是Entry接口 。
for each遍历
1 importjava.util.Iterator;2 importjava.util.Map;3
4 /**
5 * @Title: mapTest6 * @Description:7 *@author阿伟8 * @createTime 2018年11月26日下午7:31:039 */
10 public classmapTest {11 public static voidmain(String[] args) {12 Mapmap = new HashMap();13 map.put("student1", "阿伟");14 map.put("student2", "小李");15 map.put("student3", "小张");16 map.put("student4", "小王");17 //
18 // //1.使用entrySet()遍历
19 System.out.println("使用entrySet()遍历");20 Iterator it =map.entrySet().iterator();21 while(it.hasNext()) {22 Map.Entry entry =(Map.Entry) it.next();23 Object key =entry.getKey();24 Object value =entry.getValue();25 System.out.println("key="+key+" value"+value);26
27 }28 //2.通过Map.Keyset遍历key和value,普遍使用,二次取值
29 System.out.println("通过Map.Keyset遍历key和value,普遍使用,二次取值");30 for(String key:map.keySet()){31 System.out.println("Key="+key+"\tvalue="+map.get(key));32 }33 //3通过map.values()遍历所有的value,但不能遍历key
34 System.out.println("通过map.values()遍历所有的value,但不能遍历key");35 for(String v:map.values()){36 System.out.println("value="+v);37 }38 //4通过map.entrySet遍历key和value(推荐使用,特别是容量大时)
39 System.out.println("通过map.entrySet遍历key和value(推荐使用,特别是容量大时)");40 for(Map.Entryentry:map.entrySet()){41 System.out.println("key="+entry.getKey()+"\tvalue="+entry.getValue());42 }43
44 }45
46 }
--------------------测试结果-----------------------------------
集合中根据是否含有要修改的 Key 键来决定是否要修改相应的 value 值
1 public static voidgetStringContent(){2 Map map = new HashMap();3 map.put("张三", "111111");4 map.put("李四", "222222");5 String time_info_deadline = "";6 String cc = "张三";7 if(map.containsKey(cc)){8 String value =map.get(cc).toString();9 value = value +";" +"重复";10 map.put(cc, value);11 }else{12 map.put(cc, "121212");13 }14
15 for(Map.Entryentry : map.entrySet()){16 String keyName =entry.getKey();17 String value =entry.getValue().toString();18
19 time_info_deadline = time_info_deadline + ";" + keyName + ":" +value;20 }21 System.out.println(time_info_deadline.substring(1));22 }
结果查看:
1 public static voidgetStringContent(){2 Map map = new HashMap();3 map.put("张三", "111111");4 map.put("李四", "222222");5 String time_info_deadline = "";6 String cc = "王五";7 if(map.containsKey(cc)){8 String value =map.get(cc).toString();9 value = value +";" +"重复";10 map.put(cc, value);11 }else{12 map.put(cc, "121212");13 }14
15 for(Map.Entryentry : map.entrySet()){16 String keyName =entry.getKey();17 String value =entry.getValue().toString();18
19 time_info_deadline = time_info_deadline + ";" + keyName + ":" +value;20 }21 System.out.println(time_info_deadline.substring(1));22 }
结果查看:
由上述代码可以看到:
当map集合中再次放入已存在的key时,二次存入的Key,Value 会将原来的key,value 全部覆盖掉,只留存新的key,value
-
Java中Map的赋值、取值、删除值、替换值等操作
2021-03-06 05:15:02Map赋值定义一个Map结构,往里面插入几条记录:Map map = new HashMap();map.put("1", "value1");map.put("2", "value2");map.put("3", "value3");Map取值的五种方式1、keySet二次取值2、entrySet使用iterator遍历... -
修改map中的值
2017-06-01 16:52:38因项目要求,将map中的所有null值,改成空值""。 代码很简单~ 主要是这里map.ketSet()去 获得所有的key值集合 Set s =map.keySet(); for(String str : s){ if(map.get(str).equals("null")){ map.... -
java中的map怎么根据key值修改value值?
2021-02-12 14:13:29展开全部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... -
C++抽象编程——如何修改map中的值
2019-05-31 10:55:40刚刚在写一个程序,要用到将map中的值给改变,但是那是书本上提供的put()函数(我记得java好像也提供这一类的函数吧),我们的C++并不具有这样的功能,所以我便去搜索了一下大家的建议,发现确实是没有这个函数,... -
map修改key值
2019-10-28 17:02:08map是无法直接修改key值的,所以要采用其他的方案,新增一个键值对,再删除之前那个要修改的 map要使用ConcurrentHashMap,不然会抛.ConcurrentModificationException异常,然后采用迭代器的方式遍历,不能用for循环... -
java中Map修改key值
2022-04-03 20:25:35map是不能直接修改key值的,可以通过先获取对应key的value,然后将原来的key删除,在插入一个想要的key和value即可。 Map dtos = (Map) dto.get("key"); String value =(String) dtos.get("key"); dtos.remove... -
Golang遍历map的同时并发修改map的值
2020-03-15 14:07:55如题,有个逻辑设计,在遍历map的同时需要并发的修改map的值 解决 先说下解决,那就是把map重新复制一份,不是同一个map自然也就不存在并发安全和死锁的问题了,但是因为不是同一个map了,自然是需要注意数据还是否... -
java 修改Map的值
2019-08-19 20:40:21//查询得到的Map<String,Object>集合 List<Map<String,Object>> deptList = indoorCompareServices....通过put()修改某个键的值 详细: http://yayihouse.com/yayishuwu/chapter/2099 ... -
c++,stl,map容器,构造,元素插入,遍历,修改键值时的注意点
2021-12-19 18:02:25c++,stl,map容器,构造,元素插入,修改,遍历 map容器是相当常用的stl容器,它的元素插入有四种方法,基于insert的三种和下标赋值一种,同时map本身的性质就是没有重复键,所以会出现插入失败的情况,map容器本身... -
在java的Map集合中,怎样更改value的值
2018-10-09 14:15:08import java.util.Map; public class Demo { public static void main(String[] args) { Map<Integer,Integer> m = new HashMap<Integer,Integer>(); ... -
js map()处理数组和对象数据
2020-12-31 09:44:18之前的文章梳理了JS数组与对象属性的遍历方法,本文介绍专门用以遍历并处理数据的map()方法。一、原生map()map()是数组的一个方法,它创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果... -
Map的value,如何去修改
2021-06-28 19:20:39假设这样一个情况,我们对一个hashmap进行get操作,得到其value值temp,然后对temp进行修改,这个hashmap中的value值,是否跟着也发生了变化。 public V get(Object key) { Node<K,V> e; return (e = get... -
java 在方法中修改MAP的值结果原MAP的值也发生了变化
2016-04-14 10:43:11//我在这里改变了MAP的值 correctContractMap.put("trade_contract","15122"); } private void updataDataBase() { Map corMap = new HashMap(); corMap.put("main_contract","dfdfdfdf"); corMap.put(... -
map修改数组中对象的值
2020-10-29 16:33:11大佬给出的示例 我写的部分代码 这个很好用,比for循环好看,在后面又做别的处理时,push一个对象进来,直接push就行,别this.data=this.data.push({... 还用到了slice,取数组中前几项的值,splice切除掉第几项后几个。 -
修改map的key
2020-03-06 14:12:21map.put("newkey",map.remove("oldkey")); -
如何给List<Map, Object>> list 增加值和修改值
2016-04-28 10:56:18eg. List> list = new ArrayList();...Map map = new HashMap(); map.put("a",2);map.put("B","222"); list.add(map); System.out.println("list::::::::::"+list); 修改: //修改 ((Map)list.get(0 -
vue使用map修改集合中的属性值
2019-10-10 18:35:38this.userList.map(user=>{ if(user.userType==1){ user.userType='第二项管中心主任'; }else if(user.userType==2){ user.userType='业主代表'; } return user; }) ... -
vue map 修改后台返回的指定值
2019-12-31 16:59:30map则可以改变当前循环的值,返回一个新的被改变过值之后的数组(map需return),一般用来处理需要修改某一个数组的值。 ...item,第一个参数做为初始值,...{}第二个参数为要修改的值,最后会和...item合并,如果第一... -
python修改字典的值(update map value)
2018-12-19 17:18:00mydict.update({'newkey':'newvalue'}) 转载于:https://www.cnblogs.com/Raul2018/p/10144580.html -
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());... -
java从文件中读取信息保存到Map中,修改Map中的值,将Map更新到文件中
2019-01-04 20:37:28方法:map导出到file,从file中读取得到map package com.filetomap; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io....