MultiValueMap接口和实现类LinkedMultiValueMap的用法
其实本来不想写用法的,但是我们还是要本着一个负责人的态度是吧。其实这个封装在开源框架NoHttp中用的很多,很成熟了,下面也再写点用法:
public static void main(String[] args) {
MultiValueMap<String, String> stringMultiValueMap = new LinkedMultiValueMap<>();
// 添加Key为name的
stringMultiValueMap.add("name", "yolanda");
stringMultiValueMap.add("name", "yanzhenjie");
stringMultiValueMap.add("name", "严振杰");
stringMultiValueMap.add("name", "尤兰达");
// 添加Key为domain的
stringMultiValueMap.add("domain", "http://www.yanzhenjie.com");
stringMultiValueMap.add("domain", "http://www.nohttp.net");
// 拿到某个key的某个值
System.out.println("name的第三个值:" + stringMultiValueMap.getValue("name", 3));
// 打印所有值
Set<String> keySet = stringMultiValueMap.keySet();
for (String key : keySet) {
List<String> values = stringMultiValueMap.getValues(key);
for (String value : values) {
System.out.println(key + ": " + value);
}
}
}
我们run一下看结果:
name的第三个值:尤兰达
name: yolanda
name: yanzhenjie
name: 严振杰
name: 尤兰达
domain: http://www.yanzhenjie.com
domain: http://www.nohttp.net