Я хочу, чтобы каждая строка читалась из csv как sub_list и добавляла такой sub_list в master_list.
![enter image description here](https://i.stack.imgur.com/NQC4y.png)
так что это будет примерно так:
[[строка 1] [строка 2] .... [последняя строка]]]
Как убедиться, что добавленный в master_list вложенный список не подвержен изменениям в исходном sub_list.Я понимаю, что это как-то связано с мелким или глубоким копированием.Как правильно это сделать.Причина для этого заключается в том, что я мог бы использовать подсписок для других операций в другом месте.как только мне нужно сделать это, мне нужно очистить содержимое внутри него как пустой список.Поэтому я хочу сохранить использование одного и того же списка для разных задач.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class CSVReader {
public static void main(String[] args) {
String csvFile = "E:\\country.csv";
String line = "";
String cvsSplitBy = ",";
List<String> sub = new ArrayList<String>();
List<List> master = new ArrayList<List>();
try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {
while ((line = br.readLine()) != null) {
// use comma as separator
String[] country = line.split(cvsSplitBy);
sub.add(line);
master.add(sub);
// System.out.println(sub);
sub.remove(0);
// System.out.println("Country [code= " + country[4] + " , name=" + country[5] + "]");
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(master);
}
}
это выводит пустой список "[]".