[Java][Stream]forEach/toArray/count/collect四种终止方法的讲解
2023-12-13 17:31:30
我们分两个部分来讲解这些知识:
第一部分是forEach/toArray/count这些比较简单的终止方法,方法的含义读英文即可了解,我这里不做过多赘述
第二部分是分析collect储存元素到不同的集合类型中的解决途径
import java.util.ArrayList;
import java.util.Collections;
public class Main{
public static void main(String[] args){
/*
终结方法:forEach
count()统计
toArray()转换为数组
*/
//创建集合并且添加值
ArrayList<Integer> al = new ArrayList<>();
Collections.addAll(al,1,2,3,4,5,6,7,7,8,9,10,11,12,13,14);
//输出count统计的结果
System.out.println(al.stream().filter(s->s>=10).count());
//输出forEach遍历的结果
al.stream().filter(s->s>=10).forEach(s->System.out.println(s));
//输出toArray方法的结果并且遍历它
Object[] arr =al.stream().filter(s->s>=10).toArray();
for(int i=0;i<=arr.length;i++){
System.out.println(arr[i]);
}
}
}
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main{
public static void main(String[] args){
//1.使用Collect来将Stream流中的对象转化为List
List<String> list = Stream.of("apple","banana","pear").collect(Collectors.toList());
for(String s:list){
System.out.println(s);
}
//2.使用Collect来将Stream流中儿的对象转化为Set
Set<String> set = Stream.of("lihua","lilei","hanmeimei").collect(Collectors.toSet());
for(String s:set){
System.out.println(s);
}
/*
分组:这是一个较难的知识点 我们将一个Stream中的元素按照某个属性进行分组,并且生成一个Map
*/
Student s1 = new Student("lihua",18);
Student s2 = new Student("lilei",19);
Student s3 = new Student("hanmeimei",18);
List<Student> lt= new ArrayList<>();
lt.add(s1);
lt.add(s2);
lt.add(s3);
Map<Integer,List<Student>> result = lt.stream().collect(Collectors.groupingBy(s->s.getAge()));
System.out.println(result);
}
}
文章来源:https://blog.csdn.net/qq_37511412/article/details/134969382
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!