Я хотел бы создать динамическую Многомерную ArrayList, который считывает из текстового файла с целыми числами, разделенных пробелами и линии, которые ищут что-то вроде этого:Как заполнить многомерный массив ArrayList (Java) из текстового файла?
0 -5 5 0 -3 0 5
3 1 0 0 0 0 5
5 -5 0 5 5 1 1
(лишь малая части фактических данных, и строк и столбцы могут быть изменены, следовательно, необходимость динамического 2D ArrayList)
до сих пор это то, что я имею в коде:.
ArrayList<ArrayList<Integer>> ratings2DArray = new ArrayList<ArrayList<Integer>>();
try {
in = new BufferedReader(new FileReader("PureRatings.txt"));
int counter = 0;
while (in.readLine() != null) {
ratings2DArray.add(new ArrayList<Integer>()); //Adds 2nd dimension.
^Довольно много говорят, что для каждой строки в текстовом файле , Добавить строка в 2D ArrayList.
Внизу здесь мне нужно объявить переменную string (или char?), Называемую рейтингом, которая берет ввод из текстового файла. И пусть это будет ограничено пробелами (извините, если я не правильно использую терминологию), чтобы каждый символ «-5», «- 3», «0», «3», «5» помещался внутри ArrayList индивидуально ,
ratings2DArray.get(counter).add(Integer.parseInt(rating));
counter ++;
}
in.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
Это едва мой второй семестр с любым воздействием программирования, поэтому любые ответы/советы о том, является ли это осуществимо, эффективный, неэффективный, если я должен использовать различные структуры данных и так далее, будет очень оценили.
Ничего себе, это большая помощь. Благодарю. Не возражаете, если я задам вам несколько вопросов об этом, чтобы больше понять код? – Marcos
Конечно, что вам нужно для понимания? – Perception
Что означают 16 и 8, когда внутри метода ArrayList? "Список <Список> Рейтинги2DArray = новый ArrayList <Список > (16);" Кроме того, я правильно понял, что цикл while добавляет строки после того, как столбцы были индивидуально созданы в методе parseRatingsLine? –
Marcos