赞
踩
基本概念:以更简便的方式操作集合数据的形式;
Steam流的操作步骤:
获取Stream流
中间方法:去重,跳过,获取, 过滤, 合并流,转换类型;
终结方法:遍历,统计,收集(进数组 / 进集合);
小练习
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.Map;
- import java.util.function.Function;
- import java.util.stream.Collectors;
-
-
- //将集合中的元素提取并转换
-
- public class Streamdemo02 {
- public static void main(String[] args) {
- ArrayList<String> list1 = new ArrayList<>();
- list1.add("zhangsan,23");
- list1.add("lisi,24");
- list1.add("wangwu,25");
-
-
- // list1.stream()
- // .filter(s -> Integer.parseInt(s.split(",")[1]) >= 24)
- // .collect(Collectors.toMap(new Function<String, String>() {
- // @Override
- // public String apply(String s) {
- // return s.split(",")[0];
- // }
- // }, new Function<String, Integer>() {
- // @Override
- // public Integer apply(String s) {
- // return Integer.parseInt(s.split(",")[1]);
- // }
- // }));
-
- Map<String, Integer> map = list1.stream().
- filter(s -> Integer.parseInt(s.split(",")[1]) >= 24)
- .collect(Collectors.toMap(
- s -> s.split(",")[0],
- s -> Integer.parseInt(s.split(",")[1])));
-
- System.out.println(map);
-
-
- }
- }
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- import java.util.function.Predicate;
- import java.util.stream.Collectors;
- import java.util.stream.Stream;
-
- //去除奇数保留偶数
-
- public class Streamdemo01 {
- public static void main(String[] args) {
- ArrayList<Integer> list1 = new ArrayList<Integer>();
- // for(int i = 1; i <= 10; i++) list1.add(i);
-
- Collections.addAll(list1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
-
-
- // Stream<Integer> stream1 = list1.stream();
- // stream1.filter(new Predicate<Integer>() {
- // @Override
- // public boolean test(Integer integer) {
- // return integer % 2 == 1;
- // }
- // }).forEach(integer -> System.out.println(integer));
-
-
- List<Integer> newList = list1.stream()
- .filter(n -> n % 2 == 0)
- .collect(Collectors.toList());
-
- System.out.println(newList);
-
- }
- }
1. 基本概念:将已经存在的方法引用,作为函数式接口中抽象方法的方法体;
2.特点: “ ::” 符号,方法引用符;
3.注意事项
- 需要有函数式接口
- 被引用方法的参数和返回值应和抽象方法保持一致;
- 被引用方法应满足使用需求;
4.分类
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。