Java8 Stream 基本操作示例
来源:互联网 发布:南风知我意2生子番外 编辑:程序博客网 时间:2024/04/27 10:50
package Stream;import java.util.ArrayList;import java.util.Arrays;import java.util.IntSummaryStatistics;import java.util.List;import java.util.Optional;import java.util.OptionalInt;import java.util.stream.Collectors;public class Java8Stream { public static void main(String[] args) { System.out.println("hello Stream"); List<Person> list=getPersoms(); //调用Stream(流)API函数 //List<Person> studentList boolean isAllMatch=list.stream().allMatch(Person::isStudent); boolean isAnyMatch=list.stream().anyMatch(Person::isStudent); boolean isALLNotMatch=list.stream().noneMatch(Person::isStudent); System.out.println("is All student? "+isAllMatch); System.out.println("is Any student? "+isAnyMatch); System.out.println("is no student? "+isALLNotMatch); List<String> studentList=list.stream(). filter(Person::isStudent).//筛选出学生 //map((Person person)->person.getName()).//获取学生名字形成新的流 map(Person::getName). collect(Collectors.toList());//将新的流返回给studentList System.out.println("studentList: "+studentList); //flatMap List<String> strlist=new ArrayList<String>(); strlist.add("I am a boy"); strlist.add("I love the girl"); strlist.add("But the girl loves another girl"); List<String> resultlist=strlist.stream(). map(line->line.split(" ")).//转化为String[] flatMap(Arrays::stream).//转化为Stream distinct().//去除重复的String collect(Collectors.toList());//返回集合 System.out.println("resultlist: "+resultlist); //获取第一个元素findFirst Optional<Person> person = list.stream().findFirst(); System.out.println("findFirst: "+person.get()); OptionalInt maxAge =list.stream().mapToInt(Person::getAge).max(); System.out.println("maxAge: "+maxAge.getAsInt()); IntSummaryStatistics all=list.stream().collect(Collectors.summarizingInt(Person::getAge)); System.out.println("sumAge:"+all.getSum()+" aver"+all.getAverage() +" minAge"+all.getMin()+" maxAge"+all.getMax()); } /** * 测试数据 * @return */ public static List<Person> getPersoms(){ List<Person> list=new ArrayList<Person>(); Person person; for(int i=0;i<10;i++){ person=new Person(); person.setAge(i); person.setName("lice"+String.valueOf(i)); person.setStudent(true); list.add(person); } return list; } /** * 测试数据 * @return */ public static List<Integer> getNumbers(){ List<Integer> list=new ArrayList<Integer>(); for(int i=0;i<10;i++) list.add(i); return list; }}
阅读全文
0 0
- Java8 Stream 基本操作示例
- Java8 Stream的终止操作使用示例
- Java8 Stream经典示例
- Java8 Stream操作
- java8 stream 操作
- Java8的Stream操作
- Java8 Stream流操作
- Java8 Stream API之创建Stream示例
- Java8中Stream基本用法
- java8 Stream流操作介绍
- Java8集合及Stream操作
- 【JAVA8】stream 流相关操作
- Java8 Stream 归约 使用示例
- Java8---Stream的基本用法(2)
- Java8 常用的Stream流操作
- Java8 Stream
- java8 stream
- Java8 Stream
- Matlab中plot基本用法
- tomcat/mongo优化
- VUE+WebPack实现精美Html5游戏设计:纸牌战争
- JPA Onetomany注解外健关联项设为null
- AOP(execution表达式)
- Java8 Stream 基本操作示例
- ANDROID下拉菜单SPINNER的使用方法
- vim配置文件,解决没有颜色问题
- java删除文件
- Java 服务端 使用WebService 模拟客户端从第三个平台获取数据
- 军工SSD与普通SSD真有什么不同?
- 第二章 检索数据
- CMake调用多个C文件
- Mybatis出错:Property 'Lname' not found on type com.myTest.entity.PerLoc