Lambda 如何将以下代码转换为Java8

Lambda 如何将以下代码转换为Java8,lambda,java-8,java-stream,comparator,Lambda,Java 8,Java Stream,Comparator,我已经用命令式风格编写了以下代码,运行良好。但我想将其转换为Java8,我已经尝试过了,但无法以最优雅的方式实现 List<Wrapper> futureList = new ArrayList<>(); List<Wrapper> pastList = new ArrayList<>(); List<Wrapper> list = fooRepository.findAll(); for(Wrapper data : list){

我已经用命令式风格编写了以下代码,运行良好。但我想将其转换为Java8,我已经尝试过了,但无法以最优雅的方式实现

List<Wrapper> futureList = new ArrayList<>();
List<Wrapper> pastList = new ArrayList<>();
List<Wrapper> list = fooRepository.findAll();
for(Wrapper data : list){
  if(data.getSchedule().toInstant().isAfter(new Date().toInstant())
       futureList.add(data);
   else
       pastList.add(data);     
 } 
List futureList=new ArrayList();
List pastList=new ArrayList();
List List=fooRepository.findAll();
用于(包装器数据:列表){
if(data.getSchedule().toInstant().isAfter(new Date().toInstant())
添加(数据);
其他的
添加(数据);
} 

如果您想使用
s,最简单的方法就是这样使用:

Map<Boolean, List<Wrapper>> map = list.stream()
        .collect(Collectors.partitioningBy(data -> data.getSchedule().toInstant().isAfter(Instant.now())));
List<Wrapper> pastList = map.get(false);
List<Wrapper> futureList = map.get(true);
Map Map=list.stream()
.collect(collector.partitionby(data->data.getSchedule().toInstant().isAfter(Instant.now()));
List passlist=map.get(false);
List futureList=map.get(true);

谢谢。我从哪里可以在java 8中学习这种技术?只需谷歌“java流教程”—第一个结果()看起来很有希望。稍后,请查阅JavaDocs:,类。