【发布时间】:2017-12-20 09:35:16
【问题描述】:
我正在使用来自 commons-collections 的 MultiValuedMap。我正在尝试在地图中添加一个带有空列表的条目。
如果你有Map<String, List<String>>,你就会有put("string", new ArrayList<String>())
我可以用 MultiValuedMap 做到这一点吗?
我试过了:
map.asMap().put(stringValue, new ArrayList<>())
还有:
map.put(stringValue, null)
第一行抛出异常(UnsupportedOperation),第二行在列表中有null 值,这是我不想要的。
【问题讨论】:
-
为什么需要这个?由于 MultiValuedMap 隐式创建值列表,因此通常会考虑列表是否存在的实现细节。
-
Apache Commons 的大部分功能已被 Java 8 取代。您可以只使用普通的 Java API 方法
Map.computeIfAbsent而不是使用 MultiValuedMap。为您节省一个外部依赖项。
标签: java collections apache-commons