Java 根据标准将列表分为两个列表的最佳方法是什么
我有一个对象列表,我想根据字段的值将该列表分为两个列表。下面是我如何使用Java 根据标准将列表分为两个列表的最佳方法是什么,java,java-8,Java,Java 8,我有一个对象列表,我想根据字段的值将该列表分为两个列表。下面是我如何使用Stream.filter(): public void setMovieMedia(List<MovieMediaResponse> movieMedias) { // fill the first list this.setPhotos(movieMedias .stream() .filter(movieMedia -> movieMe
Stream.filter()
:
public void setMovieMedia(List<MovieMediaResponse> movieMedias) {
// fill the first list
this.setPhotos(movieMedias
.stream()
.filter(movieMedia -> movieMedia.getType().equals(MediaType.PHOTO))
.collect(Collectors.toList()));
// fill the second list
this.setVideos(movieMedias
.stream()
.filter(movieMedia -> movieMedia.getType().equals(MediaType.VIDEO))
.collect(Collectors.toList()));
}
您正在寻找的是
收集器。通过分区
可以获得映射
,其中键是布尔值
;因此,您可以:
result.get(true/false)
获取每个单独的列表。因为你们似乎知道自己在溪流中的路线,所以我不举一个例子,你们很可能会明白
result.get(true/false)