stream流

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;

public class StreamTest {

    public static void main(String[] args) {

        List<String> list=new ArrayList<>();
        list.add("活着");
        list.add("黄金时代");
        list.add("巨人的陨落");
        list.add("世界的凛冬");
        list.add("一个陌生女人的来信");
        list.add("悲惨世界");
        list.add("人间失格");

        //所有的 Collection 集合都可以通过 stream()这个方法获取流,这是 Collection 接口中的默认方法
        //Stream filter(Predicate p) 返回一个与给定判断条件匹配的元素组成的流。
        //void forEach(Consumer action) 对此流的每个元素执行一个操作,这是一个终结方法。
        //long count() 返回此流中元素的计数。这是一个终结方法。
        //Stream limit(long maxSize) 获得流中前 maxSize 个元素,将元素添加到另一个流中返回

//        list.stream().filter(s -> (s.contains("人"))).forEach(System.out::println);
//
//        list.stream().filter(s -> s.length()>=5).limit(2).forEach(System.out::println);


        //书名中含有"世界"的
        Stream<String> s1=list.stream().filter(s -> s.contains("世界"));
        //书名长度大于等于5,不要前两个
        Stream<String> s2=list.stream().filter(s -> s.length()>=5).skip(2);
        //合并流
        Stream<String> s3=Stream.concat(s1,s2);
        //根据名字创建Book对象
        Stream<Book> s4=s3.map(Book::new);

        s4.forEach(System.out::println);
    }
}

Book类:

public class Book {
    private String name;

    public Book() {
    }

    public Book(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

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

    @Override
    public String toString() {
        return "Book{" +
                "name='" + name + '\'' +
                '}';
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值