Здравствуйте, у меня возникла проблема хранения массива ArrayList из целых чисел в массив ArrayList из целых чисел. Вот полный код:Java ArrayList остается пустым, когда я добавляю объект, содержащий целые числа
public class SetZeroMatrix {
public static void main(String [] args){
ArrayList<ArrayList<Integer>> zeroMatrix = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> insertionList = new ArrayList<Integer>();
try {
FileReader in = new FileReader("matrixInput.txt");
BufferedReader br = new BufferedReader(in);
Scanner matrixScanner = new Scanner(br);
while(matrixScanner.hasNextLine()){
Scanner rowReader = new Scanner(matrixScanner.nextLine());
while(rowReader.hasNextInt()){
insertionList.add(rowReader.nextInt());
}
//testing to see if insertionList is empty
System.out.println("Arraylist contains: " + insertionList.toString());
zeroMatrix.add(insertionList);
insertionList.clear();
}
matrixScanner.close();
}
catch(FileNotFoundException ex) {
System.out.print("File not found" + ex);
}
//testing to see if zeroMatrix is empty
ArrayList<Integer> testList = new ArrayList<Integer>();
testList = zeroMatrix.get(1);
System.out.println("ArrayList contains: " + testList.toString());
}
}
Эта программа читает из текстового файла «matrixInput.txt», который содержит:
34
20
Проблема в том, после того, как я добавил insertionList в zeroMatrix, zeroMatrix печатает пустой ArrayList (во время последней строки кода). Я подозреваю, потому что я не правильно вставляю insertionList в zeroMatrix? Или, может быть, я печатаю его неправильно?
Вы удаляете все внутри 'insertionList' после добавления его в' zeroMatrix'. Что вы ожидали от печати после этого? – csmckelvey
с циклом while, вы не должны очищать insertionList, вместо этого вы должны создать новый экземпляр insertionList –