作业帮 > 综合 > 作业

java中Integer类型的集合数据相加

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 11:43:25
java中Integer类型的集合数据相加
java中能不能在一个Integer集合中做到数据相加,里面只存入数字,然后让每4个为一个单位相加.比如
集合[2,5,4,0,1,8,4,2,3,4,8,12],要做大4个一组,一共三组,每组数据相加,要求得到3个数据,如[11,15,27]有没有会的大神,急.
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr = {2, 5, 4, 0, 1, 8, 4, 2, 3, 4, 8, 12};
int[] arr2 = arrayAdd(arr);
System.out.println(Arrays.toString(arr2));
}
private static int[] arrayAdd(int[] arr) {
int[] arr2 = new int[(arr.length + 3) / 4];
for (int i = 0; i < arr.length; i++) {
arr2[i / 4] += arr[i];
}
return arr2;
}
}
再问: 非常非常感谢
再答: 类似,但需要修改。import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
public class Test {
\x09public static void main(String[] args) {
\x09\x09List<Integer> list = Arrays.asList(2, 5, 4, 0, 1, 8, 4, 2, 3, 4, 8, 12);
\x09\x09List<Integer> list2 = listAdd(list);
\x09\x09System.out.println(list2);
\x09}
\x09private static List<Integer> listAdd(List<Integer> list) {
\x09\x09List<Integer> list2 = new LinkedList<Integer>();
\x09\x09for (int i = 0; i < list.size(); i++) {
\x09\x09\x09if (i % 4 == 0) {
\x09\x09\x09\x09list2.add(list.get(i));
\x09\x09\x09} else {
\x09\x09\x09\x09list2.set(i / 4, list2.get(i / 4) + list.get(i));
\x09\x09\x09}
\x09\x09}
\x09\x09return list2;
\x09}
}
再问: 大神,请受小弟一拜
再答: 如正确,望采纳。