Java8中的Steam测试案例

public class TestFilter {

    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("two2");
        list.add("one");
        list.add("three");
        list.add("three");
        //默认
        System.out.println(list);
        System.out.println("----------------------------------");
        System.out.println("过滤");
        //过滤
        list.stream().filter(s -> s.length()<=3).forEach(s-> System.out.println(s));
        //排序
        System.out.println("排序");
        list.stream().sorted().forEach(s -> System.out.println(s));
        System.out.println("根据长度排序");
        list.stream().sorted((s1,s2)->s1.length()-s2.length()).forEach(s -> System.out.println(s));
        System.out.println("distinct(去重)");
        list.stream().sorted((s1,s2)->s1.length()-s2.length()).distinct().forEach(System.out::println);
        System.out.println("输出哪几个");
        list.stream().sorted((s1,s2)->s1.length()-s2.length()).limit(1).forEach(System.out::println);
        System.out.println("删除部分");
        list.stream().sorted((s1,s2)->s1.length()-s2.length()).skip(1).forEach(System.out::println);
        System.out.println("聚合");
        System.out.println(list.stream().reduce("串一串",(a,b)->a+b+"----"));

        boolean maflag = list.stream().anyMatch(s->"one".equals(s));
        System.out.println(maflag);
    }

}

Java 8引入了Stream API,它是一种新的抽象层,可以让我们以一种更函数式的方式处理数据。Stream API可以让我们以声明式的方式定义对集合的操作,而不是像循环和迭代器那样显式地实现算法。 使用Java 8 Stream API,我们可以轻松地对集合进行过滤、映射、排序、聚合等操作。Stream API支持并行处理,可以非常容易地利用多核CPU的性能优势。 以下是一些Java 8 Stream API的示例: 1. 过滤一个集合的元素: ```java List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); List<Integer> evenNumbers = numbers.stream() .filter(n -> n % 2 == 0) .collect(Collectors.toList()); ``` 2. 对一个集合的元素进行映射: ```java List<String> words = Arrays.asList("hello", "world"); List<Integer> wordLengths = words.stream() .map(String::length) .collect(Collectors.toList()); ``` 3. 对一个集合的元素进行排序: ```java List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9); List<Integer> sortedNumbers = numbers.stream() .sorted() .collect(Collectors.toList()); ``` 4. 对一个集合的元素进行聚合: ```java List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); int sum = numbers.stream() .reduce(0, (acc, n) -> acc + n); ``` 以上仅是一些简单的示例,Java 8 Stream API还有很多强大的功能,例如flatMap、groupBy、partitioningBy等等。如果您想深入了解Java 8 Stream API,可以参考Java官方文档或其他相关教程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值