将项目添加到数组列表的数组列表
Adding items to an array list of an array list
我想知道如何将项(从逐项读取文件输入的扫描仪)添加到数组的数组列表中。现在 Eclipse 告诉我我的 .add 不起作用,我假设这是因为数组的数组列表。请帮忙!
public static void readInputFile(String fileName,
ArrayList<ArrayList<String> > fileByLine) throws IOException {
try {
FileInputStream fileInput = new FileInputStream(fileName);
Scanner fileIn = new Scanner(new FileReader(fileName));
String fileWord = fileIn.next();
while (fileIn.hasNext()) {
fileByLine.add(fileWord);
fileWord = fileIn.next();
}
}
catch (IOException ex) {
System.out.println("Error reading file.");
}
}
你可以的。
首先向父列表添加一个新列表,然后添加项目
public static void readInputFile(String fileName,
ArrayList<ArrayList<String>> fileByLine) throws IOException {
try {
FileInputStream fileInput = new FileInputStream(fileName);
Scanner fileIn = new Scanner(new FileReader(fileName));
String fileWord = fileIn.next();
ArrayList<String> list = new ArrayList<>(); //list of items
while (fileIn.hasNext()) {
fileWord = fileIn.next();
list.add(fileWord); //adding item to list
}
fileByLine.add(list); //add list with list to father list
} catch (IOException ex) {
System.out.println("Error reading file.");
}
}
这显然行不通。您要将字符串添加到需要 ArrayList 元素(而非字符串元素)的 ArrayList。最好你这样做:
try {
FileInputStream fileInput = new FileInputStream(fileName);
Scanner fileIn = new Scanner(new FileReader(fileName));
String fileWord = fileIn.next();
ArrayList<String> newSubList = new ArrayList<>();
while (fileIn.hasNext()){
fileWord = fileIn.next();
//Adds to this specific Arraylist:
newSubList.add(fileWord);
}
//Adds to the outermost ArrayList after loop
fileByLine.add(newSubList);
}
catch (IOException ex) {
System.out.println("Error reading file.");
}
希望对您有所帮助...编码愉快!
我想知道如何将项(从逐项读取文件输入的扫描仪)添加到数组的数组列表中。现在 Eclipse 告诉我我的 .add 不起作用,我假设这是因为数组的数组列表。请帮忙!
public static void readInputFile(String fileName,
ArrayList<ArrayList<String> > fileByLine) throws IOException {
try {
FileInputStream fileInput = new FileInputStream(fileName);
Scanner fileIn = new Scanner(new FileReader(fileName));
String fileWord = fileIn.next();
while (fileIn.hasNext()) {
fileByLine.add(fileWord);
fileWord = fileIn.next();
}
}
catch (IOException ex) {
System.out.println("Error reading file.");
}
}
你可以的。
首先向父列表添加一个新列表,然后添加项目
public static void readInputFile(String fileName,
ArrayList<ArrayList<String>> fileByLine) throws IOException {
try {
FileInputStream fileInput = new FileInputStream(fileName);
Scanner fileIn = new Scanner(new FileReader(fileName));
String fileWord = fileIn.next();
ArrayList<String> list = new ArrayList<>(); //list of items
while (fileIn.hasNext()) {
fileWord = fileIn.next();
list.add(fileWord); //adding item to list
}
fileByLine.add(list); //add list with list to father list
} catch (IOException ex) {
System.out.println("Error reading file.");
}
}
这显然行不通。您要将字符串添加到需要 ArrayList 元素(而非字符串元素)的 ArrayList。最好你这样做:
try {
FileInputStream fileInput = new FileInputStream(fileName);
Scanner fileIn = new Scanner(new FileReader(fileName));
String fileWord = fileIn.next();
ArrayList<String> newSubList = new ArrayList<>();
while (fileIn.hasNext()){
fileWord = fileIn.next();
//Adds to this specific Arraylist:
newSubList.add(fileWord);
}
//Adds to the outermost ArrayList after loop
fileByLine.add(newSubList);
}
catch (IOException ex) {
System.out.println("Error reading file.");
}
希望对您有所帮助...编码愉快!