MultiValueMap可以让一个key对应多个value,这是Spring框架提供的Map类,这里可以很好的解决一些不好处理的字符串问题,不多说看代码:
MultiValueMap<String, String> stringMultiValueMap = new LinkedMultiValueMap<>();
stringMultiValueMap.add("早班 9:00-11:00", "周一");
stringMultiValueMap.add("早班 9:00-11:00", "周二");
stringMultiValueMap.add("中班 13:00-16:00", "周三");
stringMultiValueMap.add("早班 9:00-11:00", "周四");
stringMultiValueMap.add("测试1天2次 09:00 - 12:00", "周五");
stringMultiValueMap.add("测试1天2次 09:00 - 12:00", "周六");
stringMultiValueMap.add("中班 13:00-16:00", "周日");
//打印所有值
Set<String> keySet = stringMultiValueMap.keySet();
for (String key : keySet) {
List <String> values = stringMultiValueMap.get(key);
System.out.println(StringUtils.join(values.toArray(),“”)+“:”+ key); }
output:
周末周四:早班 9:00-11:00
周三周日:中班 13:00-16:00
周五周六:测试1天2次09:00-12:00
查看底层源码发现,这个MultiValueMap类是春天封装的接口,而下面的实现类有好几个,这里用到的LinkedMultiValueMap,源码中看到一个构造器已经能说明问题了!
Entry对象中的value值是一个List。