lam*_*ams 0 java arrays data-structures
我有一个数组,我正在尝试对数组的一部分的值进行求和。
例如我的数组是 [1,2,3,4,5,6],但我只想将值添加到第三个元素
[1,2,3]。我以为我以前使用过涉及分号的方法,但我记不清了。
像 int 之类的东西sum = Sum (arr[0]:arr[2]),但我不确定。这样的事情存在吗?
我想几年前我在Python中使用过它。
没有内置方法来对子数组求和。最简单的方法可能是通过子数组进行流式传输:
int[] myArray = {1,2,3,4,5,6};
int sum = Arrays.stream(myArray, 0, 3).sum();
Run Code Online (Sandbox Code Playgroud)
其中 0 和 3 是开始和结束索引(包括开始,不包括结束)
扩展厄立特里亚的出色答案,您可以创建一个具有有意义名称的界面并将其存放在您的库中。
interface IntRangeSum {
static public int apply(int[] a, int start, int end) {
return Arrays.stream(a, start, end).sum();
}
}
int[] a = {1,2,3,4,5};
int result = IntRangeSum.apply(a, 2, 4);
System.out.println(result);
Run Code Online (Sandbox Code Playgroud)
印刷
7
Run Code Online (Sandbox Code Playgroud)