有关MultiValueMap的使用
2020-08-21 00:12
4419 查看
MultiValueMap介绍
MultiValueMap:org.springframework.util.MultiValueMap extends Map<K, List<V>>.接口MultiValueMap实现Map<K, List<V>>,和以往对map的使用习惯来讲区别就是一个key值可以有多个Value.
与之前使用Map<k,List<V>>相比,对List<V>操作更加方便。
下来用代码来介绍:
[code]MultiValueMap<String, String> multiValueMap = new LinkedMultiValueMap<>(); multiValueMap.add("a","1"); multiValueMap.add("a","2"); multiValueMap.add("a","3"); multiValueMap.add("b","A"); multiValueMap.add("b","B"); multiValueMap.add("b","C"); multiValueMap.add("b","D");
V getFirst(K key);
[code]// 获取key值对应List第一个值 String str1 = multiValueMap.getFirst("a"); // str1 = "1" String str2 = multiValueMap.getFirst("b"); // str2 = "A"
void add(K key, V value);
[code]multiValueMap.add("c","one"); // 向map里添加新key,及value multiValueMap.add("a","5"); // key值存在,则对应List添加元素 // multiValueMap : {a=[1, 2, 3, 5], b=[A, B, C, D], c=[one]}
void set(K key, V value);
[code]multiValueMap.set("a","s"); // key值存在,则更新对应value multiValueMap.set("d","dog"); // key值不存在,则添加数据 // multiValueMap: {a=[s], b=[A, B, C, D], c=[one], d=[dog]}
void setAll(Map<K, V> values);
[code]List<String> list = new ArrayList<>(); list.add("+"); list.add("-"); list.add("*"); list.add("÷"); Map<String,List<String>> map = new HashMap<>(); map.put("d",list); // 构建Map multiValueMap.putAll(map); // 作用和set类似,如果map的key值在multiValueMap存在则更新,不存在添加数据 // multiValueMap : {a=[1, 2, 3, 5], b=[A, B, C, D], c=[one], d=[+, -, *, ÷]}
Map<K, V> toSingleValueMap();
[code]// multiValueMap : {a=[+, -, *, ÷], b=[A, B, C, D], c=[one]} Map<String, String> stringStringMap = multiValueMap.toSingleValueMap(); // stringStringMap :{a=+, b=A, c=one} // 将multiValueMap转换为Map<String, String>,key值不变,value去对应list第一个值
相关文章推荐
- SpringMVC使用Map或MultiValueMap接收前端提交的Form Data或Query String
- 使用MultiValueMap巧妙解决拼字符串问题
- SpringMVC使用Map或MultiValueMap接收前端提交的Form Data或Query String
- 有关std::map和std::vector的使用
- 对map使用Iterator遍历时可以修改value的值(即引用传递)
- cocos2dx的模板容器简单使用(Vector,Map,Value)
- STL:map的使用:删除map中指定值为value的所有元素
- C++中 使用数组作为map容器VAlue值的解决方法
- STL:map的使用:删除map中指定值为value的所有元素
- mybatis中使用map类型参数,其中key为列名,value为列值
- C++中 使用数组作为map容器VAlue值的解决方法
- MultiValueMap的用法(一个key对应多个value)
- 给定["a","b","a","b","c","a","b","c","b"]字符串数组,然后使用Map的key来保存数组的字符串元素,value保存该字符串元素出现的次数。
- Map的key和value的使用
- foreach属性-动态-mybatis中使用map类型参数,其中key为列名,value为列值
- 使用Map中的key-value拼接sql语句
- cocos2dx的模板容器简单使用(Vector,Map,Value)
- [转载]C++中 使用数组作为map容器VAlue值的解决方法
- MultiValueMap的序列化与反序列化
- 遍历 Map 类集合 的key和value,JDK8下应使用使用 Map.foreach 方法。