gpt4 book ai didi

java - 不循环的 Integer ArrayList 的元素总和

转载 作者:行者123 更新时间:2023-11-30 03:17:57 26 4
gpt4 key购买 nike

我已经浏览了一些网络资源和链接,但是,我无法在不循环的情况下找到 Integer ArrayList 的元素总和。我正在寻找一个可以让我在一行中完成此操作的函数。

我能够找到与普通数组相同的内容,如下所示

import java.util.ArrayList;
import java.util.stream.IntStream;

public class sumArray
{
public static void main(String[] args)
{
int[] a = {10,20,30,40,50};
int sum = IntStream.of(a).sum();
System.out.println("The sum is " + sum);
}
}

我可以编写一个用户定义的函数,如下

import java.util.ArrayList;

public class sumAL
{
public static void main(String[] args)
{
ArrayList<Integer> al = new ArrayList<Integer>();
al.add(1);
al.add(3);
al.add(5);

System.out.println(sum(al));
}

static int sum(ArrayList<Integer> al)
{
int value = 0;
for(int i : al)
{
value += i;
}
return value;
}
}

但是,我正在寻找内置的东西。请指教。

编辑:我已尝试以下操作,但出现构建错误

import java.util.ArrayList;

public class sumAL
{
public static void main(String[] args)
{
System.out.println(getVersion());

ArrayList<Integer> al = new ArrayList<Integer>();
al.add(1);
al.add(3);
al.add(5);
System.out.println(al.stream().mapToInt(Integer::intValue).sum());
}

static double getVersion () {
String version = System.getProperty("java.version");
int pos = version.indexOf('.');
pos = version.indexOf('.', pos+1);
return Double.parseDouble (version.substring (0, pos));
}
}

错误

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
Integer cannot be resolved to a variable
Syntax error on tokens, delete these tokens

最佳答案

您可以轻松映射 Stream<Integer>IntStream然后计算总和:

a1.stream().mapToInt(Integer::intValue).sum();

关于java - 不循环的 Integer ArrayList 的元素总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32100547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com