AI智能
改变未来

有关MultiValueMap的使用


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,及valuemultiValueMap.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值存在,则更新对应valuemultiValueMap.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); // 构建MapmultiValueMap.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第一个值

 

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 有关MultiValueMap的使用