Java Stream 流操作 02

package test;

import org.junit.Test;

import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;

/**
 * 如何创建一个包含整数1到10的整数流?
 * 如何使用filter操作筛选一个整数流,只保留偶数?
 * 如何使用map操作将一个整数流中的每个元素都加倍?
 * 如何使用reduce操作计算一个整数流中所有元素的和?
 * 如何使用collect操作将一个字符串流中的元素连接成一个单独的字符串?
 * 如何使用distinct操作从整数流中去除重复的元素?
 * 如何使用sorted操作对一个字符串流中的元素进行字母顺序排序?
 * 如何使用forEach操作遍历一个整数流并打印每个元素?
 * 如何使用flatMap操作将一个包含多个字符串的流扁平化成一个单独的字符串流?
 * 如何使用limit操作从一个整数流中获取前5个元素?
 */
public class Test_14 {

    /*如何创建一个包含整数1到10的整数流?*/
    @Test
    public void test_01() {
        IntStream.rangeClosed(1, 10).forEach(System.out::println);
    }

    /*如何使用filter操作筛选一个整数流,只保留偶数?*/
    @Test
    public void test_02() {
        IntStream.rangeClosed(1, 10).filter(x -> x % 2 == 0).forEach(System.out::println);
    }

    /*如何使用map操作将一个整数流中的每个元素都加倍?*/
    @Test
    public void test_03() {
        IntStream.rangeClosed(1, 10).map(x -> x * 2).forEach(System.out::println);
    }

    /*如何使用reduce操作计算一个整数流中所有元素的和?*/
    @Test
    public void test_04() {
        System.out.println(IntStream.of(1, 2, 3, 4, 5).reduce(0, (x, y) -> x + y));
    }

    /*如何使用collect操作将一个字符串流中的元素连接成一个单独的字符串?*/
    @Test
    public void test_05() {
        System.out.println(Arrays.asList("y", "x", "t", "p", ".", "l", "o", "v", "e").stream().collect(Collectors.joining()));
    }

    /*如何使用distinct操作从整数流中去除重复的元素?*/
    @Test
    public void test_06() {
        IntStream.of(1, 2, 3, 4, 5, 1).distinct().forEach(System.out::println);
    }

    /*如何使用sorted操作对一个字符串流中的元素进行字母顺序排序?*/
    @Test
    public void test_07() {
        Arrays.asList("y", "x", "t", "p", ".", "l", "o", "v", "e").stream().sorted().forEach(System.out::println);
    }

    /*如何使用forEach操作遍历一个整数流并打印每个元素?*/
    @Test
    public void test_08() {
        IntStream.of(1, 2, 3, 4, 5).forEach(x -> System.out.println(x));
    }

    /*如何使用flatMap操作将一个包含多个字符串的流扁平化成一个单独的字符串流?*/
    @Test
    public void test_09() {
        Stream.of(Stream.of("y", "x", "t", "p"), Stream.of("l", "o", "v", "e")).flatMap(x -> x).forEach(System.out::println);
    }

    /*如何使用limit操作从一个整数流中获取前5个元素?*/
    @Test
    public void test_10() {
        IntStream.rangeClosed(1, 10).limit(5).forEach(System.out::println);
    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xinyi_java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值