首页 > 编程语言 >java使用Stream简单操作集合

java使用Stream简单操作集合

时间:2022-08-31 19:55:09浏览次数:62  
标签:ClassRoom 12 java Stream import 集合 hobby classRoomList

 

效果图

 

 本项目使用springboot

pom依赖

<!--lombok依赖-->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.16</version>
		</dependency>

 <!--引入junit单元测试依赖-->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>

  如果还有问题引入

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

  springboot版本

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.2.1.RELEASE</version>
<!--		<version>2.3.4.RELEASE</version>-->
		<relativePath/>
	</parent>

  

package com.java.list;

import lombok.Builder;
import lombok.Data;

/**
 * @Description:
 * @Author: Yourheart
 * @Create: 2022/8/30 12:36
 */
@Data
@Builder
public class ClassRoom {

    /**
     * 学生姓名
     */
    private String name;

    /**
     * 学生年龄
     */
    private Integer age;

    /**
     * 学生爱好
     */
    private String hobby;

    /**
     * 学生的特长
     */
    private String specialSkill;

    /**
     * 对于爱好的喜欢程度,01特别喜欢,02一般喜欢,03不喜欢
     */
    private String status;
}

  

package com.java.list;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * @Description:
 * @Author: Yourheart
 * @Create: 2022/8/30 12:35
 */
public class CollectTest {


    @Test
    public void testList(){

        List<ClassRoom> classRoomList=new ArrayList<>();
        classRoomList.add(ClassRoom.builder().name("小红").age(10).hobby("羽毛球").specialSkill(null).status("01").build());
        classRoomList.add(ClassRoom.builder().name("小六子").age(12).hobby("羽毛球,足球").specialSkill(null).status("01").build());
        classRoomList.add(ClassRoom.builder().name("小白").age(10).hobby("篮球").specialSkill("钢琴").status("03").build());
        classRoomList.add(ClassRoom.builder().name("小绿").age(12).hobby("羽毛球").specialSkill(null).status("01").build());
        classRoomList.add(ClassRoom.builder().name("小黑").age(12).hobby("乒乓球").specialSkill(null).status("02").build());
        classRoomList.add(ClassRoom.builder().name("小红帽").age(16).hobby("跳绳").specialSkill(null).status("02").build());
        classRoomList.add(ClassRoom.builder().name("小得子").age(12).hobby("羽毛球,篮球").specialSkill(null).build());

        //选出对爱好一般喜欢的学生
        List<ClassRoom> collect = classRoomList.stream().filter(a -> a.toString().contains("02")).collect(Collectors.toList());
        System.out.println("选出对爱好一般喜欢的学生");
        collect.forEach(a->{
            System.out.println(a);
        });

        //选出年龄大于12岁的
        List<ClassRoom> collect2 = classRoomList.stream().filter(k -> k.getAge() > 12).collect(Collectors.toList());
        System.out.println("选出年龄大于12岁的");
        collect2.forEach(k->{
            System.out.println(k);
        });

        //选出特长不为空的学生
        List<ClassRoom> collect1 = classRoomList.stream().filter(b -> b.getSpecialSkill() != null).collect(Collectors.toList());
        System.out.println("选出特长不为空的学生");
        collect1.forEach(b->{
            System.out.println(b);
        });

        //按照年龄排序
        List<ClassRoom> collect3 = classRoomList.stream().sorted(Comparator.comparing(ClassRoom::getAge)).collect(Collectors.toList());
        System.out.println("按照年龄排序");
        collect3.forEach(c->{
            System.out.println(c);
        });


    }
}

  

 

标签:ClassRoom,12,java,Stream,import,集合,hobby,classRoomList
From: https://www.cnblogs.com/q202105271618/p/16638990.html

相关文章

  • 2022-08-31 第二小组 张晟源(javaweb,el,jstl,分页查询)
    JavaWeb一,JSPJSP(全称JavaServerPages),运行在服务端的语言<%//java代码%>1.JSP脚本只能有java代码,在访问JSP时,JSP引擎翻译JSP页面中的脚本2.J......
  • 集合之Map和List线程安全问题
    一、Map常见的子类有:1、HashMap:底层数据结构是哈希表,线程不安全,允许null键和null值2、Hashtable:线程安全的,不允许null键和null值,效率低,给整个方......
  • 【Java】FileUtils-获取路径的所有文件(或文件夹)
    一、获取指定路径下的所有Excel文件packagecom.boulderaitech.utils;importjava.io.File;importjava.util.Arrays;publicclassFileUtil{publicstaticvo......
  • Java方法总结
    什么是方法何谓方法就是一个方法只完成一个功能,这样利于后期的扩展例子:publicstaticvoidmain(String[]args){  System.out.println(add(1,2));}pub......
  • 浅谈-java GUI-基础理论
    GUI:GraphicalUserInterface(图形用户接口)用图形的方式,用来显示计算机操作的界面Java为GUI提供的API都存在java.awt和javax.Swing两个包中java.awt包:awt是这三个......
  • JVM和java体系结构
    前言:JVM(JavaVirtualMachine)是java虚拟机,是java上层框架的基础,欲练神功,先练内功!JVM和java体系结构  一次编译,到处运行.跨平台   不同语言使用编译器......
  • LeaRun.Java工作流引擎 快速开发业务流程
    工作流引擎是用来开发工作流转的框架。作为应用系统的一部分,能根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案,包含组织结构、流程、节点、转向规则......
  • stringstream clear与str("")的问题 (转)
    通过stringstream类来进行int和string的转换。stringstream的头文件是sstream使用stringstream对象简化类型转换stringstream我发现重复写入时会出现前面的东西还留在s......
  • 4.Docker部署java项目测试
    FROMopenjdk:8u332-jdk-oraclelinux7WORKDIR/home/appEXPOSE8081COPYskywalking-agent//home/app/COPY*.jar/home/app/ENTRYPOINT["java","-javaagent","/ho......
  • PipedInputStream
    也是第一次听说java里有这么个东西,可以在两个线程间通信直接上代码publicclassPipedInputStreamTest{publicstaticvoidmain(String[]args){......