stream流的案例

  1. 案例1:

     

  2. 代码实现;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    import java.util.stream.Collectors;

    public class stream案例1 {
    public static void main(String[] args) {
    ArrayList<Integer> list=new ArrayList<>();
    Collections.addAll(list,1,2,3);
    List<Integer> collect = list.stream().filter(s -> s % 2 == 0)
    .collect(Collectors.toList());
    System.out.println(collect);
    }
    }
  3. 案例2:

     

  4. 案例2代码实现;
    ArrayList<String> LIST=new ArrayList<>();
    Collections.addAll(LIST,"张三,25","李四,24","朝气,26");
    Map<String, Integer> collect = LIST.stream().filter(s -> Integer.parseInt(s.split(",")[1]) >= 25)
    .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]);
    }
    }));
    System.out.println(collect);

     

  5. 案例3:

     

  6. 案例3代码实现:
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Objects;
    import java.util.function.Function;
    import java.util.stream.Collectors;
    import java.util.stream.Stream;

    public class stream案例3 {
    public static void main(String[] args) {
    ArrayList<String> list1=new ArrayList<>();
    ArrayList<String> list2=new ArrayList<>();
    Collections.addAll(list1,"张三,23","李四,24","王五,26");
    Collections.addAll(list1,"杨六,24","杨七,45","zz,26");
    Stream<String> stream1 = list1.stream().filter(s -> s.split(",")[0].length() == 2)
    .limit(2);
    Stream<String> stream2 = list2.stream().filter(s -> s.split(",")[0]
    .startsWith("杨")).skip(1);
    Stream.concat(stream1,stream2).map(new Function<String, actor>() {
    @Override
    public actor apply(String s) {
    String name = s.split(",")[0];
    int age= Integer.parseInt(s.split(",")[1]);

    return new actor(name,age);
    }
    }).forEach(s-> System.out.println(s));

    }





    }


    class actor{
    private String name;
    private int age;

    public actor(String name, int age) {
    this.name = name;
    this.age = age;
    }

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public int getAge() {
    return age;
    }

    public void setAge(int age) {
    this.age = age;
    }

    @Override
    public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    actor actor = (actor) o;
    return age == actor.age &&
    Objects.equals(name, actor.name);
    }

    @Override
    public int hashCode() {
    return Objects.hash(name, age);
    }

    @Override
    public String toString() {
    return "actor{" +
    "name='" + name + '\'' +
    ", age=" + age +
    '}';
    }
    }
posted @ 2023-04-17 16:55  为zq  阅读(15)  评论(0)    收藏  举报