2016-11-24 9 views
1

私はとfiltersをJava 8で使ったことが初めてです。私は現在、一部のMLアルゴリズムにSpark MLライブラリを使用しています。データは、そうでない場合は正しいか、nullの場合、新しいLabeledPointを返しgetLabeledPoint(Point point)Javaでマップした後のヌル値をフィルタリングする8

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

機能: は、私は、次のコードを持っています。 nullLabeledPointのオブジェクトをmapの後にフィルタリング(削除)するにはどうすればよいですか?

答えて

8

ストリーム上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()); 
+10

また、あなたが '' .filter(オブジェクト::非NULL)を使用することができますが、 – Mikhail

関連する問題