java - 使用流填充倍数列表

标签 java java-stream declarative-programming

有没有办法使用stream()以Java 8声明式风格编写此方法?

public List<Integer> getFives(int numberOfElements, int incrementNum) {
    List<Integer> list;
    int value = incrementNum;
    list.add(value);
    for (int i = 0; i < numberOfElements; i++) {
        value = value + incrementNum;
        list.add(value);
    }
    return list;
}

最佳答案

有很多方法可以实现您想要的目标,其中之一是使用 Intstream#iterate :

public static  List<Integer> getFives(int numberOfElements, int incrementNum) {    
    return IntStream.iterate(incrementNum, i -> i+incrementNum)
                    .limit(numberOfElements)
                    .boxed()
                    .collect(Collectors.toList());
}

关于java - 使用流填充倍数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60864903/

相关文章:

java - Collectors-map-java8 内 lambda 中的类类型

Prolog:我陷入了一种命令式的心态

java - 在 Java 中执行 Bash 脚本返回 Null

java - Selenium 自动元素点击返回 null

java - 如何很好地相交从两张 map 构建的两组?

prolog - Prolog 规则中目标(语句)的顺序

javascript - HTTP 状态 400 : The requested resource is not available

java - 如何通过Java访问Dynamics CRM

Java 8 按属性过滤