Java 流使用

1.集合過濾

Lists.newArrayList(1,2,3).stream().filter(k -> k >1) ;

2.遍歷

 Lists.newArrayList(1,2,3).stream().forEach(System.out::println);

3.映射

Lists.newArrayList(1,2,3).stream().map(k -> k + "haha") ;

4.排序

Lists.newArrayList(1,2,3).stream().sorted(Comparator.comparing(Integer::intValue).reversed()) ;

5.reduce

/**
* x = {1,2,3,4,5,6,7}
* y = (x*3 -1)
* 求 y1*y2*.....yn
*
*/
Integer rs = Lists.newArrayList(1, 2, 3).stream()
        .reduce(1,//y的初始值
       (y, x) -> y *= (x * 3 - 1));//y1*y2*...yn
System.out.println(rs);

6.收集list

Lists.newArrayList(-1, 2, 3).stream().collect(Collectors.toList()) ;

7.收集器Set

Lists.newArrayList(-1, 2, 3).stream().collect(Collectors.toSet()) ;

8.收集器map

//1對多聚合map
Map<String, List<User>> userMap1 = users.stream()
.collect(Collectors.groupingBy(User::getAddress, Collectors.toList()));
//1對1聚合map,最後一個方法指的是重複值處理策略
Map<String, User> userMap2 = users.stream()
.collect(Collectors.toMap(u -> u.getAddress(), u -> u, (u1, u2) -> u2));

9.字符串拼接

//字符串stream,拼接字符串
String str = new ArrayList<String>().stream().collect(Collectors.joining("-"));

10.並行處理

strings.stream().parallel().forEach(System.out::println);

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章