有没有办法使用 : 在数组中添加一系列值?

lam*_*ams 0 java arrays data-structures

我有一个数组,我正在尝试对数组的一部分的值进行求和。

例如我的数组是 [1,2,3,4,5,6],但我只想将值添加到第三个元素

[1,2,3]。我以为我以前使用过涉及分号的方法,但我记不清了。

像 int 之类的东西sum = Sum (arr[0]:arr[2]),但我不确定。这样的事情存在吗?

我想几年前我在Python中使用过它。

Eri*_*ean 7

没有内置方法来对子数组求和。最简单的方法可能是通过子数组进行流式传输:

int[] myArray = {1,2,3,4,5,6};

int sum = Arrays.stream(myArray, 0, 3).sum();
Run Code Online (Sandbox Code Playgroud)

其中 0 和 3 是开始和结束索引(包括开始,不包括结束)


WJS*_*WJS 5

扩展厄立特里亚的出色答案,您可以创建一个具有有意义名称的界面并将其存放在您的库中。

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)