Я пытаюсь суммировать N пар целых чисел - Nx2 ArrayList - и вернуть N суммирования в виде ArrayList. Хотя я понимаю, что для этого не нужно создавать класс, я хотел бы сделать это в качестве практики для будущих проектов.
import java.util.ArrayList;
public class SumsInLoop {
public SumsInLoop(int numberOfPairs, ArrayList<ArrayList<Integer>> numbersList) {}
public ArrayList<Integer> getSums(int numberOfPairs, ArrayList<ArrayList<Integer>> numbersList) {
ArrayList<Integer> pairsOfSums = new ArrayList<Integer>();
for (ArrayList<Integer> Pair : numbersList) {
int x = Pair.get(0);
int y = Pair.get(1);
int sum = x + y;
pairsOfSums.add(sum);
}
System.out.println(pairsOfSums);
return pairsOfSums;
}
Данные, которые мне дают, представляют собой случайный ассортимент из N пар (numbersOfPairs) целых чисел, например, 612673 108695. Я хотел бы добавить эти пары целых чисел в 2D ArrayList (numbersList), который будет вызываться getSums.
Однако у меня возникают трудности при инициализации числового списка. Моя основная функция заключается в следующем:
public static void main(String[] args) {
int myNumberOfPairs = 13;
ArrayList[][] myNumbersList = new ArrayList[13][2];
myNumbersList[0][0] = new ArrayList<>();
myNumbersList[0][0].add(612673);
myNumbersList[0][1].add(108695);
myNumbersList[1][0] = new ArrayList<>();
myNumbersList[1][0].add(756875);
myNumbersList[1][1].add(496058);
SumsInLoop mySum = new SumsInLoop(myNumberOfPairs,myNumbersList);
mySum.getSums(myNumberOfPairs, myNumbersList);
Последние две строки кода выдают ошибки, прося меня изменить myNumbersList на тип ArrayList<List<Integer>>
, который генерирует еще больше ошибок, даже после изменения всех 2D ArrayList на тип ArrayList<List<Integer>>
.
Итак, два моих вопроса таковы:
- Как я могу инициализировать NxM ArrayList и правильно его заполнить?
- Есть ли более быстрый способ выполнить эту задачу, все еще используя метод класса?
P.S. Я привык к программированию на Python и сам обучаю себя Java, поэтому любая другая информация или ресурсы, которые вы можете мне предоставить, очень ценятся.