如何使用Java-8将对象转换为地图

如何使用Java-8将对象转换为地图,java-8,java-stream,Java 8,Java Stream,考虑以下目标: class Interval { final String name; final Date start; final Date end; final int intervalId; } 我得到了一份间隔列表。我需要检查它是否等于给定的地图。 例如: boolean checkEqual(列出间隔,映射开始){ } 我想使用Java8将时间间隔列表转换为开始/结束日期的映射,然后与startEndMap进行比较 i、 e boolean checkEq

考虑以下目标:

class Interval {
   final String name;
   final Date start;
   final Date end;
   final int intervalId;
}
我得到了一份间隔列表。我需要检查它是否等于给定的地图。 例如:

boolean checkEqual(列出间隔,映射开始){
}
  • 我想使用Java8将时间间隔列表转换为开始/结束日期的映射,然后与startEndMap进行比较
  • i、 e

    boolean checkEqual(列出间隔,映射开始){
    Map Map=interval.streams.filter??有什么方法可以做到这一点吗?
    返回map.equals(startEnd)
    }
    
    怎么做

  • 有更好的办法吗
  • 使用收集器:

    Map<Date, Date> result = intervals.stream()
                 .collect(Collectors.toMap(Interval::getStartDate, 
                                 Interval::getEndDate));
    
    Map result=interval.stream()
    .collect(收集器).toMap(间隔::getStartDate,
    间隔::getEndDate));
    
    使用收集器:

    Map<Date, Date> result = intervals.stream()
                 .collect(Collectors.toMap(Interval::getStartDate, 
                                 Interval::getEndDate));
    
    Map result=interval.stream()
    .collect(收集器).toMap(间隔::getStartDate,
    间隔::getEndDate));
    
    请你再解释一遍你的问题好吗?请你再解释一遍你的问题好吗?你到底是怎么理解的?:)@尤金:编程之后我的第二项技能是“读心术”:(你到底是怎么理解的?:)@尤金:编程之后我的第二项技能是“读心术”:
    Map<Date, Date> result = intervals.stream()
                 .collect(Collectors.toMap(Interval::getStartDate, 
                                 Interval::getEndDate));