logo

Stream filter() в Java з прикладами

Фільтр потоку (предикатний предикат) повертає потік, що складається з елементів цього потоку, які відповідають заданому предикату. Це ан проміжна операція. Ці операції завжди ліниві, тобто виконання проміжної операції, такої як filter(), фактично не виконує жодної фільтрації, а натомість створює новий потік, який під час проходження містить елементи початкового потоку, які відповідають заданому предикату.

як викликати метод у java

Синтаксис:



Stream filter(Predicate predicate)>

Де Stream — це інтерфейс, а T — тип вхідних даних для предиката.

Тип повернення: Новий потік.

Реалізація:



  1. Фільтрування елементів, які діляться на певне число в діапазоні від 0 до 10.
  2. Відфільтрування елементів з великою літерою за будь-яким конкретним індексом.
  3. Відфільтрування елементів, які закінчуються власними буквами алфавіту.

приклад 1: метод filter() з операцією фільтрації елементів, які діляться на 5.

Java






// 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 ->кількість %>5> ==>0>)> >.forEach(System.out::println);> >}> }>

>

>

Вихід

20>

приклад 2: метод filter() з операцією фільтрації елементів із верхньою літерою під індексом 1.

Java




// 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




// 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>