Java 8添加元素的方法

时间:2015-10-08 02:09:47

标签: java functional-programming java-8

是否有更简洁,也许是一种简单的方式来编写以下内容:

ArrayList<Integer> myList = new ArrayList<>();
for (int i = 0; i < 100; i++){
    myList.add(i);
}

使用Java 8功能和功能上的insipred方法。我不期待像Haskell这样的解决方案:

ls = [1..100]

但是比传统的命令式风格更优雅。

1 个答案:

答案 0 :(得分:6)

一个解决方案是

List<Integer> list = IntStream.range(0, 100).boxed().collect(Collectors.toCollection(ArrayList::new));

步骤:

  1. IntStream.range(0, 100)是100个原始int s。
  2. 的流
  3. boxed()将此转换为Integer个对象的流。这是将数字放入Collection
  4. 的必要条件
  5. collect(Collectors.toCollection(ArrayList::new));是您将Stream转换为ArrayList的方式。您可以将任何供应商的ArrayList::new替换为集合,并将元素添加到该集合中。