本文介绍了在Java 8中映射后过滤空值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Java 8中,我是使用mapfilters的新手.目前,对于某些ML算法,我正在使用Spark ML库.我有以下代码:

I'm new in using map and filters in Java 8. I'm currently using Spark ML library for some ML algorithms. I have the following code:

// return a list of `Points`.
List<Points> points = getPoints();
List<LabeledPoint> labeledPoints = points.stream()
                                        .map(point -> getLabeledPoint(point))
                                        .collect(Collectors.toList());

如果数据正确,则函数getLabeledPoint(Point point)返回新的LabeledPoint,否则返回null.如何在map之后过滤(删除)null LabeledPoint对象?

The function getLabeledPoint(Point point) returns a new LabeledPoint if the data is correct or null otherwise. How can I filter (remove) the null LabeledPoint objects after map?

推荐答案

filter 方法:

// return a list of `Points`.
List<Points> points = getPoints();
List<LabeledPoint> labeledPoints = points.stream()
                                    .map(point -> getLabeledPoint(point))
                                    // NOTE the following:
                                    .filter(e -> e != null)
                                    .collect(Collectors.toList());

这篇关于在Java 8中映射后过滤空值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-27 11:21