【发布时间】:2016-03-08 08:25:44
【问题描述】:
我有一个集合 multimap,它存储一些针对一个月(整数)的字符串。
MonthlyCount = {1:["hello"],2:["hello","hi"]}
我有一张地图,可以计算每月字符串的数量并添加它们。我使用 containsKey 过滤器来检查集合中是否存在键,并将它们添加到地图中。
final String[] months = new DateFormatSymbols().getShortMonths();
final Map<String, Object> metaData = new LinkedHashMap<>();
private SetMultimap<Integer, String> MonthlyCount;
for (int i = 0; i <= month; i++) {
final int count = MonthlyCount.containsKey(i + 1) ? MonthlyCount.get(i + 1).size() : 0;
metaData.put(months[i], count);
}
有没有办法用 Java8 的流和过滤器实现相同的行为?
【问题讨论】:
-
您是否有理由在操作过程中访问另一张地图?什么是
ticketsByMonthMap,为什么在从ticketsByMonthMap获取密钥之前检查MonthlyCount中是否存在密钥? -
@Holger。感谢您指出了这一点。改了。
标签: java java-8 guava java-stream