向量Java中所有元素的总和
Java 11.6
我有一个大小为8的向量,根据用户输入的1到8之间的数字,我的代码将随机生成值,并将其放入一个名为vec_1的向量中
例如,输出如下所示
Enter the number of trials:
>> 4
Trials Random Value
1 10
2 20
3 0
4 60
价值观<;10,20,0,60>;都保存在向量vec_1中,然后我使用
Enumeration enu = vec_tor.elements();
while(enu.hasMoreElements()) {
for (int i = 1; i<=4; i++) {
System.out.printf("\n " + String.valueOf(i));
System.out.printf(" " + String.valueOf(enu.nextElement()));
}
}
并排打印矢量中的元素。我想把向量中的所有数字加在一起,得到一个10+20+0+60=90的和。我想在添加向量的每个元素后打印“Sum:90”。我不知道如何在java中为向量逐个元素添加元素,我尝试查找其他问题,但它们主要与数组相关。感谢您的帮助。谢谢大家!
# 1 楼答案
使用Java Streams API:
说明:
test
是一个Vector<Integer>
李>java.util.Collection
的类必须实现stream
方法。这使程序员能够使用流APIVector
还实现了Collection
李>mapToInt
是一种方法,它使从流中提取的所有元素都映射到原语int
。这由IntStream
类表示。我们将Integer
映射到相应的int
,或者通过i -> i
(通过自动拆箱)或者通过Integer::valueOf
李>IntStream
实现了一个sum()
方法,这正是我们所需要的李># 2 楼答案
向量元素和:
向量数组:
单元测试
# 3 楼答案
你可以这样做:
for循环只是遍历每个元素。不需要复杂的枚举结构。它还考虑存储在向量中的实际元素计数
注:Vector是一种非常古老的数据结构。现在通常使用类似
List
的ArrayList
# 4 楼答案
可以在向量本身上添加调用
add()
的元素。然后可以使用stream()
来添加所有元素并返回总和上述代码将输出:
这里是关于Vector.add()和Stream.reduce()的文档,如果您想进一步调查的话
# 5 楼答案
有多种方法可以做到这一点
您可以在这里使用
ArrayList
而不是Vector
,因为Vector
是一种非常古老的数据结构