考虑以下对象:
class Interval {
final String name;
final Date start;
final Date end;
final int intervalId;
}
我获得了一个间隔列表。我需要检查它等于给定的地图。 例如:
boolean checkEqual(List<Interval> intervals, Map<Date, Date> startEnd) {
}
即
boolean checkEqual(List<Interval> intervals, Map<Date, Date> startEnd) {
Map<Date, Date> map = intervals.streams.filter ?? is there a way to do it ?
return map.equals(startEnd)
}
怎么做?
答案 0 :(得分:7)
使用toMap
收集器:
Map<Date, Date> result = intervals.stream()
.collect(Collectors.toMap(Interval::getStartDate,
Interval::getEndDate));