六、Java中一个key存多个value的MultiValueMap,一键多值

一、MultiValueMap介绍,与map,HashMap相差不多

添加一个Key对应一个Value的:void add(K, V);
添加一个Key对应多个Value的:void add(K, List);
设置一个Key对应一个Value的:void set(K, V);
设置一个Key对应多个Value的:void set(K, List);
移除一个Key和它对应的Value:List remove(K);
清除所有Value的:void clear();
拿到所有Key的集合:Set keySet();
拿到所有的值:List values();
拿到一个Key对应的某个值:V getValue(K, index);
拿到一个Key对应的所有Value:List getValues(K);
拿到MultiValueMap的大小:int size();
判断是否为空MultiValueMap:boolean isEmpty();
判断是否包含某个Key:boolean containKey(K);

二、MultiValueMap接口的实现类LinkedMultiValueMap

Map<K, List<V>> mSource = new LinkedHashMap<K, List<V>>();

import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;

import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;

public class TreeMap2MultiValueMap {

    public MultiValueMap<String, Object> getMultiValueMap(TreeMap<?, ?> treeMap) {
        MultiValueMap<String,Object> map = new LinkedMultiValueMap<>();
        Iterator iter = treeMap.entrySet().iterator();
        while (iter.hasNext()){
            Map.Entry entry = (Map.Entry) iter.next();
            map.add(entry.getKey().toString(), null == entry.getValue() ? "null" : entry.getValue().toString());
        }
        return map;
    }

}

 

posted @ 2019-08-19 19:00  旅行没有终点  阅读(4434)  评论(0编辑  收藏  举报