博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 8 stream 经典示例
阅读量:4927 次
发布时间:2019-06-11

本文共 3224 字,大约阅读时间需要 10 分钟。

 

1 package org.study2.java8.stream; 2  3 import org.junit.Test; 4  5 import java.util.*; 6 import java.util.stream.Collectors; 7 import java.util.stream.Stream; 8  9 /**10  * Java 8 – Streams11  * url:http://www.studytrails.com/java/java8/java8_streams/12  * url:https://www.cnblogs.com/andywithu/p/7404101.html13  */14 public class StreamDemo {15     @Test16     public void test() {17         List
genre = new ArrayList
(Arrays.asList("rock", "pop", "jazz", "reggae"));18 long a = genre.stream().filter(s -> s.startsWith("r")).count();19 System.out.println(a);20 21 boolean b = genre.stream().allMatch(s -> !s.isEmpty());22 System.out.println(b);23 24 boolean b2 = genre.stream().anyMatch(s -> s.indexOf("r") == 0);25 System.out.println(b2);26 27 System.out.println(genre.stream().peek(s -> System.out.println(s)).anyMatch(s -> s.indexOf("r") == 0));28 System.out.println(genre.stream().peek(s -> System.out.println(s)).count());29 30 }31 32 // 现在有一个List
的集合,如何把这个list转换成Map
其中,key是user id,value是User对象33 @Test34 public void test1() {35 List
users = Arrays.asList(new User(1, "Tomcat"), new User(2, "Apache"), new User(3, "Nginx"));36 Map
map = users.stream().collect(Collectors.toMap(obj -> obj.getId(), obj -> obj));37 System.out.println(map);38 39 // 或者使用方法的引用40 Map
map2 = users.stream().collect(Collectors.toMap(User::getId, obj -> obj));41 System.out.println(map2);42 }43 44 // 把list中的每个map中的id取出来,转换成list
45 @Test46 public void test2() {47 List
> list = new ArrayList<>();48 49 Map
map1 = new HashMap<>();50 map1.put("id", "101");51 map1.put("name", "Tomcat");52 53 Map
map2 = new HashMap<>();54 map2.put("id", "102");55 map2.put("name", "Apache");56 57 Map
map3 = new HashMap<>();58 map3.put("id", "103");59 map3.put("name", "Nginx");60 61 list.add(map1);62 list.add(map2);63 list.add(map3);64 65 List
ids = list.stream().map(entity -> entity.get("id")).collect(Collectors.toList());66 System.out.println(ids);67 68 // 或者69 List
ids2 = Arrays.asList(list.stream().map(entity -> entity.get("id")).toArray());70 }71 72 // 把url的请求参数(如:type=1&from=APP&source=homePage)转换成Map
73 @Test74 public void test3() {75 String queryString = "type=1&from=APP&source=homePage";76 Map
map = Stream.of(queryString.split("&")).map(obj -> obj.split("=")).collect(Collectors.toMap(entry -> entry[0], entry -> entry[1]));77 System.out.println(map);78 }79 80 // 把List
转换成List
81 @Test82 public void test4() {83 List
strs = Arrays.asList("1", "2", "3");84 List
ints = strs.stream().map(obj -> Integer.valueOf(obj)).collect(Collectors.toList());85 }86 87 88 }

 

User.Class

1 package org.study2.java8.stream; 2  3  4 public class User { 5  6     private int id; 7     private String name; 8  9     public User(int id, String name) {10         this.id = id;11         this.name = name;12     }13 14     public int getId() {15         return id;16     }17 18     public String toString() {19         return "User [id=" + id + ", name=" + name + "]";20     }21 22 }

 

详细讲解参考:

 

转载于:https://www.cnblogs.com/gongxr/p/10870105.html

你可能感兴趣的文章
Angular应用架构设计-3:Ngrx Store
查看>>
<a>标签文件下载文件名乱码问题
查看>>
HTTP抓包
查看>>
numpy array分割-【老鱼学numpy】
查看>>
第五篇Python基本数据类型
查看>>
[WCF]WCF起航
查看>>
工作中常用的js、jquery自定义扩展函数代码片段
查看>>
JavaBean学习--练习示例
查看>>
【codeforces】【比赛题解】#915 Educational CF Round 36
查看>>
第二阶段团队冲刺10
查看>>
海量分页的简单分析
查看>>
ES6入门教程---变量和常量
查看>>
Python项目中使用配置文件
查看>>
html5的学习日志
查看>>
Python数据分析_Pandas01_数据框的创建和选取
查看>>
RESTful-rest_framework应用第一篇
查看>>
Console命令详解,让调试js代码变得更简单
查看>>
hdu4908 &amp; BestCoder Round #3 BestCoder Sequence(组合数学)
查看>>
Excel 导出
查看>>
拉登是我罩的队_第三周_需求改进&原型设计
查看>>