Java の Stream filter() と例

ストリームフィルター(述語述語) 指定された述語に一致するこのストリームの要素で構成されるストリームを返します。これは 中間操作。 これらの操作は常に遅延的です。つまり、filter() などの中間操作を実行すると、実際にはフィルタリングは実行されませんが、その代わりに、トラバース時に指定された述語に一致する初期ストリームの要素を含む新しいストリームが作成されます。

構文:

Stream filter(Predicate predicate) 

ここで、Stream はインターフェイス、T は述語への入力の型です。

戻り値の型: 新しい流れ。

実装:

  1. 0 から 10 までの特定の数値で割り切れる要素をフィルタリングして除外します。
  2. 特定のインデックスで大文字を含む要素をフィルターで除外します。
  3. カスタムのアルファベット文字で終わる要素をフィルタリングして除外します。

例 1: filter() メソッドを使用して、5 で割り切れる要素をフィルタリングして除外します。

ジャワ




// Java Program to get a Stream Consisting of the Elements> // of Stream that Matches Given Predicate for Stream filter> // (Predicate predicate)> > // Importing required classes> import> java.util.*;> > // Class> class> GFG {> > > // Main driver method> > public> static> void> main(String[] args)> > {> > > // Creating a list of Integers> > List list = Arrays.asList(> 3> ,> 4> ,> 6> ,> 12> ,> 20> );> > > // Getting a stream consisting of the> > // elements that are divisible by 5> > // Using Stream filter(Predicate predicate)> > list.stream()> > .filter(num ->数値 %>>

出力

20 

例 2: filter() メソッドを使用して、インデックス 1 にある大文字の要素をフィルタリングして除外します。

ジャワ




// Java Program to Get Stream Consisting of Elements> // of Stream that Matches Given Predicate> // for Stream Filter (Predicate predicate)> > // Importing required classes> import> java.util.stream.Stream;> > // Class> class> GFG {> > > // Main driver method> > public> static> void> main(String[] args)> > {> > // Creating a stream of strings> > Stream stream = Stream.of(> > 'Geeks'> ,> 'fOr'> ,> 'GEEKSQUIZ'> ,> 'techcodeview.com'> );> > > // Getting a stream consisting of the> > // elements having UpperCase Character> > // at custom index say be it '1'> > // using Stream filter(Predicate predicate)> > stream> > .filter(> > str ->Character.isUpperCase(str.charAt(> 1> )))> > .forEach(System.out::println);> > }> }>

出力

fOr GEEKSQUIZ 

例 3: filter() メソッドでは、カスタムのアルファベット文字で終わる要素をフィルタリングして除外する操作を使用します。実装目的では、「s」とします。

ジャワ




// Java Program to Get a Stream Consisting ofElements> // of Stream that Matches Given predicate> // for Stream filter (Predicate predicate)> > // Importing required classes> import> java.util.stream.Stream;> > // Class> class> GFG {> > > // Main driver method> > public> static> void> main(String[] args)> > {> > > // Creating a stream of strings> > Stream stream = Stream.of(> > 'Geeks'> ,> 'foR'> ,> 'GeEksQuiz'> ,> 'techcodeview.com'> );> > > // Getting a stream consisting of the> > // elements ending with 's'> > // using Stream filter(Predicate predicate)> > stream.filter(str ->str.endsWith(>> 's'> ))> > .forEach(System.out::println);> > }> }>

出力

Geeks techcodeview.com