一、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; } }