使用 lambda 将增量值映射到 Java 中的数组
Mapping Increments valused to an array in Java with lambdas
我正在尝试使用 lambda 表达式用递增的值填充数组。
前任。 [1, 2, 3, 4, ... n]
List<Integer> nums = new ArrayList<Integer>(i);
nums.stream().map(n -> IntStream.rangeClosed(1, i));
这是我想到的。 i 是传递给方法的任意值。我怎样才能让它像我想要的那样运行?或者我该怎么做类似的事情?
您使用的是列表而不是数组。所以应该这样做。
List<Integer> nums = IntStream.rangeClosed(1,n).boxed().toList();
// or for an array
int[] nums = IntStream.rangeClosed(1,n).toArray();
这也适用于数组 class。
int[] nums = new int[n];
Arrays.setAll(nums,i->i+1);
我正在尝试使用 lambda 表达式用递增的值填充数组。 前任。 [1, 2, 3, 4, ... n]
List<Integer> nums = new ArrayList<Integer>(i);
nums.stream().map(n -> IntStream.rangeClosed(1, i));
这是我想到的。 i 是传递给方法的任意值。我怎样才能让它像我想要的那样运行?或者我该怎么做类似的事情?
您使用的是列表而不是数组。所以应该这样做。
List<Integer> nums = IntStream.rangeClosed(1,n).boxed().toList();
// or for an array
int[] nums = IntStream.rangeClosed(1,n).toArray();
这也适用于数组 class。
int[] nums = new int[n];
Arrays.setAll(nums,i->i+1);