创建List:我们使用Arrays.asList方法创建一个包含重复名字的List。 创建Stream:通过namesList.stream()将List转换为Stream。 使用map方法:我们使用String::toUpperCase将List中的每个名字转换为大写字母。 收集到Set:collect(Collectors.toSet())收集结果并返回一个Se
"banana","orange");// 使用map方法转换元素Stream<Integer>lengthStream=stream.map(String::length);// 遍历并将值加入SetSet<Integer>lengthSet=newHashSet
可以看到map()方法接收一个函数式接口参数,入参有一个T,返回一个Stream流,这个流是R泛型。主要有以下几点注意, 入参是一个流中的元素; 出参是一个流,且流中是新元素; 用图表示就是下面的样子,原始流中有四个圆形图案,调用map()函数后变成了四个五角星图案,这里的圆形图案和五角星图案是一一对应的,也就是原...
List<Integer> listNum = Arrays.asList(1,2,3,8,9,5,7);// 遍历输出符合条件的元素listNum.stream().filter(x -> x >7).forEach(System.out::println);// 符合条件的元素匹配第一个Optional<Integer> findFirst = listNum.stream().filter(x -> x >7).findFirst();// 符合条件的元素匹配任意(适...
Map<String,String>map=list.stream().collect(Collectors.toMap(Person::getId,Person::getName,(key1,key2)->key2));System.out.println(map); 输出结果: 2.重复时将前面的value 和后面的value拼接起来; 代码语言:javascript 代码运行次数:0 运行 ...
//将学生姓名放到Set中,可以实现去重功能 Set<String> studentNames=students.stream().map(student -> student.getName()).collect(Collectors.toSet()); 结果不再打印,有兴趣的可以自己试试。 2.2、将姓名为“赵三”的语文成绩置为90 现在有这样一个需求,要把姓名为“赵三”学生的语文成绩置为90,看下利用...
Stream.of("apple","banana","orange","waltermaleon","grape") .map(String::length) //转成单词的长度 int .forEach(System.out::println); } } 结果如图: mapToInt 将数据流中得元素转成Int,这限定了转换的类型Int,最终产生的流为IntStream,及结果只能转化成int。
在java8之后我们list转map再也不用循环put到map了,我们用lambda表达式,使用stream可以一行代码解决,下面我来简单介绍list转map的几种方式,和转为map后对map进行分组、求和、过滤等操作。 正文 数据准备 我们准备一个ArrayList,故意让age有一对重复值 代码语言:javascript ...
Stream<Map.Entry<Integer, String> > stream = map.entrySet().stream(); System.out.println("Stream (Map to Stream) = "+ Arrays.toString(stream.toArray())); 示例 以下是使用Java将Map转换为Stream的程序- import java.util.*; import java.util.stream.*; public class Demo { public static void...
最后,stream的终止操作是整个操作链的终点。例如,forEach操作就像是一个检查员,它会遍历stream中的每个元素,并对其进行操作。我们可以在forEach中打印出元素,或者进行其他的简单操作。还有collect操作,它像是一个收集器,将stream中的元素收集起来,转换为我们想要的集合类型,如List、Set或者Map等。