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

Карта потоку (відповідач функцій) повертає потік, що складається з результатів застосування заданої функції до елементів цього потоку.

Карта потоку (Function mapper) є проміжна операція . Ці операції завжди ліниві. Проміжні операції викликаються в екземплярі Stream і після завершення обробки вони видають екземпляр Stream як вихід.

Синтаксис:

  < R>Потік < R>map(Функція < ? super T , ? extends R>Mapper), де R — тип елемента нового потоку. Потік — це інтерфейс, а T — тип елементів потоку. mapper — це функція без стану, яка застосовується до кожного елемента, і функція повертає новий потік. 

Приклад 1: Функція Stream map() з операцією числа * 3 на кожному елементі потоку.




// Java code for Stream map(Function mapper)> // to get a stream by applying the> // given function to this stream.> import> java.util.*;> > class> GFG {> > > // Driver code> > public> static> void> main(String[] args)> > {> > > System.out.println(> 'The stream after applying '> > +> 'the function is : '> );> > > // Creating a list of Integers> > List list = Arrays.asList(> 3> ,> 6> ,> 9> ,> 12> ,> 15> );> > > // Using Stream map(Function mapper) and> > // displaying the corresponding new stream> > list.stream().map(number ->номер *> 3> ).forEach(System.out::println);> > }> }>

Вихід:

 The stream after applying the function is : 9 18 27 36 45 

Приклад 2: Функція Stream map() з операцією перетворення нижнього регістру у верхній.




// Java code for Stream map(Function mapper)> // to get a stream by applying the> // given function to this stream.> import> java.util.*;> import> java.util.stream.Collectors;> > class> GFG {> > > // Driver code> > public> static> void> main(String[] args)> > {> > > System.out.println(> 'The stream after applying '> > +> 'the function is : '> );> > > // Creating a list of Integers> > List list = Arrays.asList(> 'geeks'> ,> 'gfg'> ,> 'g'> ,> > 'e'> ,> 'e'> ,> 'k'> ,> 's'> );> > > // Using Stream map(Function mapper) to> > // convert the Strings in stream to> > // UpperCase form> > List answer = list.stream().map(String::toUpperCase).> > collect(Collectors.toList());> > > // displaying the new stream of UpperCase Strings> > System.out.println(answer);> > }> }>

Вихід:

 The stream after applying the function is : [GEEKS, GFG, G, E, E, K, S] 

Приклад 3: Функція потоку map() із операцією відображення довжини рядка замість рядка.




// Java code for Stream map(Function mapper)> // to get a stream by applying the> // given function to this stream.> import> java.util.*;> > class> GFG {> > > // Driver code> > public> static> void> main(String[] args)> > {> > > System.out.println(> 'The stream after applying '> > +> 'the function is : '> );> > > // Creating a list of Strings> > List list = Arrays.asList(> 'Geeks'> ,> 'FOR'> ,> 'GEEKSQUIZ'> ,> > 'Computer'> ,> 'Science'> ,> 'gfg'> );> > > // Using Stream map(Function mapper) and> > // displaying the length of each String> > list.stream().map(str ->str.length()).forEach(System.out::println);> > }> }>

Вихід:

 The stream after applying the function is : 5 3 9 8 7 3