public class StreamTest {
public static void main(String[] args) {
createStream();
getForEach();
getMap();
getFilter();
getLimit();
getSorted();
getParallel();
getCollectors();
getStatistics();
getSumAll();
} /**
* 1.生成Stream
*/
public static void createStream(){
System.out.println("-------------------->>>>>>>>>>生成Stream");
List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jkl");
List<String> filtered = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
filtered.forEach(System.out::println);
} /**
* 2.forEach
*/
public static void getForEach(){
System.out.println("-------------------->>>>>>>>>>forEach");
Random random = new Random();
random.ints().limit(10).forEach(System.out::println);
} /**
* 3.map
*/
public static void getMap(){
System.out.println("-------------------->>>>>>>>>>map");
List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
// 获取对应的平方数
List<Integer> squaresList = numbers.stream().map(i -> i * i).distinct().collect(Collectors.toList());
squaresList.forEach(System.out::println);
} /**
* 4.filter
*/
public static void getFilter(){
System.out.println("-------------------->>>>>>>>>>filter");
List<String>strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
// 获取空字符串的数量
int count = (int) strings.stream().filter(string -> string.isEmpty()).count();
System.out.println("空字符串的数量: "+count);
} /**
* 5.limit
*/
public static void getLimit(){
System.out.println("-------------------->>>>>>>>>>limit");
Random random = new Random();
random.ints().limit(10).forEach(System.out::println);
} /**
* 6.sorted
*/
public static void getSorted(){
System.out.println("-------------------->>>>>>>>>>sorted");
Random random = new Random();
random.ints().limit(10).sorted().forEach(System.out::println);
} /**
* 7.并行(parallel)程序
*/
public static void getParallel(){
System.out.println("-------------------->>>>>>>>>>parallel");
List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jkl");
// 获取空字符串的数量
int count = (int) strings.parallelStream().filter(string -> string.isEmpty()).count();
System.out.println("parallel: " + count);
} /**
* 8.Collectors
*/
public static void getCollectors(){
System.out.println("-------------------->>>>>>>>>>Collectors");
List<String> list = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jkl");
List<String> filtered = list.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
System.out.println("筛选列表: " + filtered);
String mergedString = list.stream().filter(string -> !string.isEmpty()).collect(Collectors.joining(", "));
System.out.println("合并字符串: " + mergedString);
} /**
* 9.统计Statistics
*/
public static void getStatistics(){
System.out.println("-------------------->>>>>>>>>>Statistics");
List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
IntSummaryStatistics stats = numbers.stream().mapToInt((x) -> x).summaryStatistics();
System.out.println("列表中最大的数 : " + stats.getMax());
System.out.println("列表中最小的数 : " + stats.getMin());
System.out.println("所有数之和 : " + stats.getSum());
System.out.println("平均数 : " + stats.getAverage());
} /**
* 10.求和集合某个属性
*/
public static void getSumAll(){
System.out.println("-------------------->>>>>>>>>>Statistics");
List<GsonFormatModel> numbers = new ArrayList<>();
GsonFormatModel gsonFormatModel = new GsonFormatModel();
gsonFormatModel.setFrom(111);
numbers.add(gsonFormatModel);
GsonFormatModel gsonFormatModel1 = new GsonFormatModel();
gsonFormatModel1.setFrom(999);
numbers.add(gsonFormatModel1);
int stats = numbers.stream().mapToInt(GsonFormatModel::getFrom).sum();
System.out.println("所有数之和 : " + stats);
} }

最新文章

  1. (转) Awesome Deep Learning
  2. vs2013 控制台程序exe图标
  3. 转来的。。。 关于return 的一些事情
  4. update select
  5. 【转】Xcode重构功能怎么用我全告诉你
  6. (转载)最黑的黑客米特尼克:多次耍FBI 终被高手擒
  7. 使用hbase的api创建表时出现的异常
  8. Oracle EBS-SQL (INV-11):检查子库存会计信息.sql
  9. php强制下载文件并显示原始文件名
  10. anroid平台指纹方案
  11. 小程序——阿里服务器配置https及什么是IIS
  12. 浏览器UI多线程及JavaScript单线程运行机制的理解
  13. python并发编程之多进程2-------------数据共享及进程池和回调函数
  14. 53.CSS---CSS水平垂直居中常见方法总结
  15. RN Component生命周期函数
  16. iOS UI-团购案例(通过xib文件自定义UITableViewCell)
  17. Spring Boot 官方文档学习(二)特点
  18. java 面试大全
  19. Win7 SP1 下安装 VS2015 Update 3
  20. 【Linux】Linux 找回Root用户密码

热门文章

  1. c#实现深拷贝的几种方法
  2. 实现ssr服务端渲染demo
  3. (二十)c#Winform自定义控件-有后退的窗体
  4. Python机器学习之数据探索可视化库yellowbrick-tutorial
  5. windows安装nginx、mysql等软件并加入系统服务启动详细
  6. 逻辑回归(Logistic Regression)详解,公式推导及代码实现
  7. cookie、session和application都是些什么神?——图文加案例,不怕你不会,就怕你不看
  8. JavaScript数组方法大全(第二篇)
  9. Spring源码剖析2:Spring IOC容器的加载过程
  10. 图解Java数据结构之队列