From 0f5316f9129deea5efe1653b692ac553cd3f274b Mon Sep 17 00:00:00 2001 From: Cui YongXing <2835316714@qq.com> Date: Thu, 8 Aug 2024 09:19:45 +0800 Subject: [PATCH] 1 --- .gitignore | 33 ++++++++ pom.xml | 76 +++++++++++++++++++ .../com/example/demo/Day19Application.java | 13 ++++ .../java/com/example/demo/test/Student.java | 17 +++++ src/main/java/com/example/demo/test/Test.java | 54 +++++++++++++ .../example/demo/Day19ApplicationTests.java | 13 ++++ 6 files changed, 206 insertions(+) create mode 100644 .gitignore create mode 100644 pom.xml create mode 100644 src/main/java/com/example/demo/Day19Application.java create mode 100644 src/main/java/com/example/demo/test/Student.java create mode 100644 src/main/java/com/example/demo/test/Test.java create mode 100644 src/test/java/com/example/demo/Day19ApplicationTests.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..6d10fe2 --- /dev/null +++ b/pom.xml @@ -0,0 +1,76 @@ + + + 4.0.0 + com.example + day19 + 0.0.1-SNAPSHOT + day19 + Demo project for Spring Boot + + 1.8 + UTF-8 + UTF-8 + 2.6.13 + + + + org.springframework.boot + spring-boot-starter + + + + org.projectlombok + lombok + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + UTF-8 + + + + org.springframework.boot + spring-boot-maven-plugin + ${spring-boot.version} + + com.example.demo.Day19Application + true + + + + repackage + + repackage + + + + + + + + diff --git a/src/main/java/com/example/demo/Day19Application.java b/src/main/java/com/example/demo/Day19Application.java new file mode 100644 index 0000000..8d7771b --- /dev/null +++ b/src/main/java/com/example/demo/Day19Application.java @@ -0,0 +1,13 @@ +package com.example.demo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Day19Application { + + public static void main(String[] args) { + SpringApplication.run(Day19Application.class, args); + } + +} diff --git a/src/main/java/com/example/demo/test/Student.java b/src/main/java/com/example/demo/test/Student.java new file mode 100644 index 0000000..a05eb1b --- /dev/null +++ b/src/main/java/com/example/demo/test/Student.java @@ -0,0 +1,17 @@ +package com.example.demo.test; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class Student { + private Integer id; + private String name; + private String clazz; + private Double score; +} diff --git a/src/main/java/com/example/demo/test/Test.java b/src/main/java/com/example/demo/test/Test.java new file mode 100644 index 0000000..756fd2f --- /dev/null +++ b/src/main/java/com/example/demo/test/Test.java @@ -0,0 +1,54 @@ +package com.example.demo.test; + +import java.util.ArrayList; +import java.util.List; +import java.util.OptionalDouble; +import java.util.stream.Collectors; +import java.util.stream.DoubleStream; +import java.util.stream.Stream; + +public class Test { + + public static void main(String[] args) { + + + //创建对象 + Student student1 = new Student(1, "张三", "语文", 80.0); + Student student2 = new Student(2, "张三", "数学", 81.5); + Student student3 = new Student(3, "李四", "语文", 90.0); + Student student4 = new Student(4, "王五", "语文", 87.5); + Student student5 = new Student(5, "王五", "数学", 98.0); + List list = new ArrayList<>(); + //添加集合 + list.add(student1); + list.add(student2); + list.add(student3); + list.add(student4); + list.add(student5); + + + //通过steam循环计算 + List collect = list.stream().map(student -> { + int c = 0; + double sum = 0.0; + for (Student stu : list) { + if (stu.getName().equals(student.getName())) { + sum += stu.getScore(); + c++; + } + } + double avg = sum / c; + Student build = Student.builder().name(student.getName()) + .score(avg).build(); + return build; + + }).distinct().collect(Collectors.toList()); + for (Student student : collect) { + System.out.println(student.getName()+" "+student.getScore()); + } + + + } + + +} diff --git a/src/test/java/com/example/demo/Day19ApplicationTests.java b/src/test/java/com/example/demo/Day19ApplicationTests.java new file mode 100644 index 0000000..9ee24a4 --- /dev/null +++ b/src/test/java/com/example/demo/Day19ApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.demo; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class Day19ApplicationTests { + + @Test + void contextLoads() { + } + +}