[Java][Stream]forEach/toArray/count/collect四种终止方法的讲解

2023-12-14 03:20

本文主要是介绍[Java][Stream]forEach/toArray/count/collect四种终止方法的讲解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们分两个部分来讲解这些知识:

第一部分是forEach/toArray/count这些比较简单的终止方法,方法的含义读英文即可了解,我这里不做过多赘述

第二部分是分析collect储存元素到不同的集合类型中的解决途径

import java.util.ArrayList;
import java.util.Collections;public class Main{public static void main(String[] args){/*终结方法:forEachcount()统计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流中的对象转化为ListList<String> list = Stream.of("apple","banana","pear").collect(Collectors.toList());for(String s:list){System.out.println(s);}//2.使用Collect来将Stream流中儿的对象转化为SetSet<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);}
}

这篇关于[Java][Stream]forEach/toArray/count/collect四种终止方法的讲解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/490965

相关文章

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

解决Spring运行时报错:Consider defining a bean of type ‘xxx.xxx.xxx.Xxx‘ in your configuration

《解决Spring运行时报错:Considerdefiningabeanoftype‘xxx.xxx.xxx.Xxx‘inyourconfiguration》该文章主要讲述了在使用S... 目录问题分析解决方案总结问题Description:Parameter 0 of constructor in x

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

Java中注解与元数据示例详解

《Java中注解与元数据示例详解》Java注解和元数据是编程中重要的概念,用于描述程序元素的属性和用途,:本文主要介绍Java中注解与元数据的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参... 目录一、引言二、元数据的概念2.1 定义2.2 作用三、Java 注解的基础3.1 注解的定义3.2 内

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

Java中List转Map的几种具体实现方式和特点

《Java中List转Map的几种具体实现方式和特点》:本文主要介绍几种常用的List转Map的方式,包括使用for循环遍历、Java8StreamAPI、ApacheCommonsCollect... 目录前言1、使用for循环遍历:2、Java8 Stream API:3、Apache Commons

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for