如何为两个 IntStream 进行 mapToObj?

问题描述 投票:0回答:1

比如说,我有两个方法,每个方法都返回一个

IntStream

static IntStream getKeySizeStream() {
    return IntStream.of(
            128,
            192,
            256
    );
}

static IntStream getBlockSizeStream() {
    return IntStream.of(
            128
    );
}

我想定义一个新方法,它返回这两个流的组合流。

我发现的一种方法是这样的。

static Stream<Arguments> getKeySizeAndBlockSizeArgumentsStream() {
    return getKeySizeStream().boxed().flatMap(ks -> {
        return getBlockSizeStream()
                .mapToObj(bs -> Arguments.of(ks, bs));
    });
}

没有

.boxed().map()
部分我该怎么办?我可以这样做吗?

java stream intstream
1个回答
0
投票

我找到了答案

static Stream<Arguments> getKeySizeAndBlockSizeArgumentsStream2() {
    return getKeySizeStream().mapToObj(ks -> {
        return getBlockSizeStream().mapToObj(bs -> Arguments.of(ks, bs));
    }).flatMap(Function.identity());
}

© www.soinside.com 2019 - 2024. All rights reserved.