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。