'What to do if i have 1000 column in this given example in java 8

Aftere load data from csv file then list look like below and first column unique id and rest 999 have data value. I want to sum duplicate records based on unique id. How to simplify the code because I have to write 999 array?

Below code for one unique id and 2 data values (this code ok for 2 column):

Integer[] dataPeriod = new Integer[]{101, 2, 4};
Integer[] dataPeriod1 = new Integer[]{102, 3, 5};
Integer[] dataPeriod2 = new Integer[]{101, 4, 6};
Integer[] dataPeriod3 = new Integer[]{102, 5, 7};
Integer[] dataPeriod4 = new Integer[]{102, 7, 9};
Integer[][] data = {dataPeriod, dataPeriod1, dataPeriod2, dataPeriod3, dataPeriod4};

Collection<Integer[]> value = Arrays.stream(data).collect(Collectors.toMap(ints -> ints[0],
            Function.identity(), (a1, a2) -> {
                a1[1] += a2[1];
                a1[2] += a2[2];
                return a1;
            })).values();

what if list like below:

Integer[] dataPeriod = new Integer[]{101, 2, 4,..................,1000th};
Integer[] dataPeriod1 = new Integer[]{102, 3, 5,..................,1000th};
Integer[] dataPeriod2 = new Integer[]{101, 4, 6,..................,1000th};
Integer[] dataPeriod3 = new Integer[]{102, 5, 7,..................,1000th};
Integer[] dataPeriod4 = new Integer[]{102, 7, 9,..................,1000th};
Integer[][] data = {dataPeriod, dataPeriod1, dataPeriod2, dataPeriod3, dataPeriod4,..................,dataPeriod999th};
Collection<Integer[]> value = Arrays.stream(data).collect(Collectors.toMap(ints -> ints[0],
            Function.identity(), (a1, a2) -> {
                a1[1] += a2[1];
                a1[2] += a2[2];
                ..... += ....;
                ..... += ....;
                ..... += ....;
                ..... += ....;
                ..... += ....;
                a1[999] += a2[999];
           [simplify the code because I have to write 999 array?]
                return a1;
            })).values();

Expected OP:

[0] = {101, 6, 10}
[1] = {102, 15, 21}


Solution 1:[1]

You can use Java existing summing reduce method:

Integer sum = integers.stream()
.reduce(0, Integer::sum);

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Orr Benyamini