当前位置:网站首页>Stream流创建_操作_收集_案例
Stream流创建_操作_收集_案例
2022-06-22 09:10:00 【C_x_330】
package com.Cx_330.run;
import org.junit.Test;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.function.Consumer;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class CCC {
public static double allNums;
public static void main(String[] args) {
//Collection
List<String> list=new ArrayList<>();
Collections.addAll(list,"张三","李四","张思","阿信","张小三","张思","张思","张三");
list.stream();
//Map
Map<Integer,String> map=new HashMap<>();
Stream<Integer> keystream = map.keySet().stream();
Stream<String> valuestream = map.values().stream();
Stream<Map.Entry<Integer, String>> entrystream = map.entrySet().stream();
//Arrays
String[] str= {"张小三","李四","张哈","张三丰"};
Stream<String> strstream = Arrays.stream(str);
Stream<String> str1 = Stream.of(str);
//中间件
System.out.println("\n---------姓张的--------------------");
list.stream().filter(new Predicate<String>() {
@Override
public boolean test(String s) {
return s.startsWith("张");
}
}).forEach((s)-> System.out.print(s+" "));
System.out.println("\n---------姓张的两个字--------------------");
list.stream().filter(new Predicate<String>() {
@Override
public boolean test(String s) {
return s.startsWith("张");
}
}).filter(new Predicate<String>() {
@Override
public boolean test(String s) {
return s.length()==2;
}
}).forEach((s)-> System.out.print(s+" "));
System.out.println("\n--------姓张的并且两个字且只要第一个---------------");
list.stream()
.filter((s)->s.startsWith("张"))
.filter((s)->s.length()==2)
.limit(1L)
.forEach((s)-> System.out.print(s+" "));
System.out.println("\n--------姓张的并且两个字跳过第一个---------------");
list.stream()
.filter((s)->s.startsWith("张"))
.filter((s)->s.length()==2)
.skip(1L)
.forEach((s)-> System.out.print(s+" "));
System.out.println("\n--------姓张的并且两个字并去除重复---------------");
list.stream()
.filter((s)->s.startsWith("张"))
.filter((s)->s.length()==2)
.distinct()
.forEach((s)-> System.out.print(s+" "));
System.out.println("\n--------合并两个字姓张的以及姓李的并去除重复---------------");
Stream<String> s1 = list.stream()
.filter((s) -> s.startsWith("张"))
.filter((s) -> s.length() == 2)
.distinct();
Stream<String> s2 = list.stream().filter(s -> s.startsWith("李"));
Stream<String> sss = Stream.concat(s1, s2);
sss.forEach(s-> System.out.print(s+" "));
System.out.println("\n--------求姓李的个数---------------");
long len = list.stream().filter(s -> s.startsWith("李")).count();
System.out.println(len);
System.out.println("***********************************");
ArrayList<Double> doubles = new ArrayList<>();
Collections.addAll(doubles,1.0,2.0,3.0,4.0,5.0,6.0,7.0);
//去掉最大值 最小值 求平均数
//上面定义一个allNums当作共享变量 接收总和
//求平均值 先 排升序 在去除 在遍历求和
doubles.stream()
.sorted((d1,d2)->Double.compare(d1,d2))
.skip(1)
.limit(doubles.size()-2)
.forEach(d->allNums+=d);
System.out.println("平均值为: "+allNums/(doubles.size()-2));
System.out.println("\n--------合并两个字姓张的并去除重复并返回到一个List集合---------------");
List<String>stringList=list.stream()
.filter((s) -> s.startsWith("张"))
.filter((s) -> s.length() == 2)
.distinct()
.collect(Collectors.toList());
System.out.println(stringList);
}
}
边栏推荐
- General ASP reads CSV files and displays all rows and columns as tables
- 【uni-app】实战总结(含多端打包)
- Didi's two-sided summary
- Luogu p5406 [thupc2019] find tree
- [network security officer] an attack technology that needs to be understood - high hidden and high persistent threats
- [target detection] | detection error mechanism why object detectors fail: investigating the influence of the dataset
- Classification of SQL language
- 文件小能手---multer
- scnprintf和snprintf的区别
- cocoscreator编译报错记录 Could not write cache value 。。。.gradle\daemon\4.10.3\regi
猜你喜欢

Xshell远程服务器tensorboard/visdom的本地可视化方法【亲测一步有效】

Medical information management system database mysql

【node】node+短信api 实现验证码登录
![无线路由攻击和WiFi密码破解实战[渗透技术]](/img/b9/3551630c128e03731a956c6a6502e2.jpg)
无线路由攻击和WiFi密码破解实战[渗透技术]
![Luogu p4292 [wc2010] reconstruction plan](/img/09/5417e0b62e5205c4dabf4571823492.png)
Luogu p4292 [wc2010] reconstruction plan

Navicat for MySQL连接MySQL数据库时各种错误解决

【node】快收下爬虫,我们不再为数据发愁

【node】理论+实践让你拿下session、cookie

Matrix decomposition

Threejs implementation of simple panoramic view demo
随机推荐
新型冠狀病毒疫情
np. Arange and np Linspace nuances (data overflow problem)
面试突击59:一个表中可以有多个自增列吗?
炒股致富之curl抓股票信息
pytorch OSError: DLL load failed: 问题解决方法
The third-party libraries commonly used in golang development are not the most complete, but more complete
PIP3 install XXX reports an error: command'lsb_ release -a' returned non-zero exit status 1.
Wireless routing attack and WiFi password cracking practice [penetration technology]
User insight into the video industry in January 2022: active users began to pick up under the influence of holidays
[target detection] | detection error mechanism why object detectors fail: investigating the influence of the dataset
How did the Delphi labs, the master of economic models behind axie and Luna, come into being?
Troubleshooting various errors when Navicat for MySQL connects to MySQL database
Pytorch oserror: DLL load failed: problem solving
Solidity from introduction to practice (IV)
Shell中的单中括号和双中括号的区别
一学就会的tensorflow断点续训(原理+代码详解)
C语言刷题 | 用%f控制符输出6位小数(17)
Medical information management system database mysql
When easypoi imports the secondary header data of an excel file, the data in the first column of the @excelentity entity class is null
STM32在线升级BootLoader跳转APP时死机问题