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

摘要:
五) ;列表);voidclear();intsize();booleancontainKey(K);mSource=newLinkedHashMap<importorg.springframework.util.MultiValueMap;map=newLinkedMultiValueMap<();

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

}

免责声明:文章转载自《六、Java中一个key存多个value的MultiValueMap,一键多值》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇内网渗透之socks5代理(reGeorg+proxifier详细配置说明)SpringBoot查看哪些配置类自动生效下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

scheme中表只能操作头部带来的一个问题

很多简单的算法,为了能够转成尾递归,不得不采取比较繁琐的计算过程,或者使用多遍的遍历过程。在scheme中,比如map的实现,按照定义的实现 (define (map p l)   (if (null? l)        '()       (cons (p (car l)) (map p (cdr l))))) 是一个普通的递归,无法转成迭代进行计算。...

关于map 容器insert顺序

  今天测试我的节点,maya一次次死掉,一点一点的打印测试,良久才知:我想当然的将插入map的顺序,作为我执行的顺序直接遍历,打印数据显示,map有自动将键值排序的功能,比如以字符串为例,会按照a、b、c....顺序排好。    而且对于map,如果一个元素key不存在,但是直接map[key],那么map的size就增加1,我感觉有点儿相当于inser...

大数据离线分析平台 JavaSDK数据收集引擎编写

JavaSDK设计规则    JavaSDK提供两个事件触发方法,分别为onChargeSuccess和onChargeRefund。我们在java sdk中通过一个单独的线程来发送线程数据,这样可以减少对业务系统的延时性。 SDK测试   启动集群上的hdfs+nginx+flume进程,通过模拟数据的发送然后将数据发送到nginx服务器中,查看最终是否...

css动画之波纹

样式定义: #ContactAbout { height: auto; position: relative; overflow: hidden; } #sectioncontact { display: block; 100%; position: relative; height: 700px; z-index: 10; } #secti...

[leetcode]299. Bulls and Cows公牛和母牛

You are playing the following Bulls and Cows game with your friend: You write down a number and ask your friend to guess what the number is. Each time your friend makes a guess, y...

Vue中使用openlayer做风场图

<template> <div class="box"> <div ref="emap" id="map"></div> <div id="popup" class="ol-popup"> <a href="#" id="popup-closer" class...