map()函数的作用是将管道流中的每一个元素,以某种规则转换为另外一个元素。下面代码处理过的管道中的元素为: [monkey, lion, giraffe, lemur],所有元素的字母全部小写。
Stream<String> lowerCase = Stream.of("Monkey", "Lion", "Giraffe", "Lemur") .map(String::toLowerCase); //这两种写法的实现效果是一样的,一个是lambda表达式,一个是函数引用的方式 Stream<String> lowerCase = Stream.of("Monkey", "Lion", "Giraffe", "Lemur") .map(s -> s.toLowerCase());map()函数不仅可以处理数据,还可以转换数据的类型。如下:
IntStream lengths = Stream.of("Monkey", "Lion", "Giraffe", "Lemur") .mapToInt(String::length);上面代码的处理结果是:[6, 4, 7, 5],规则是字符串的长度。将管道流的字符串,使用mapToInt方法,以String::length为规则进行转换。当然除了mapToInt,还为我们提供了mapToDouble()和mapToLong()方法。我们可以通过自定义转换规则函数,返回int、double、long类型的返回值。
期待您的关注博主最近新写了一本书:《手摸手教您学习SpringBoot系列-16章97节》