创建 2D ArrayList:
ArrayList<String> map = new ArrayList<String>();
BufferedReader reader;
try {
reader = new BufferedReader(new FileReader("map.txt"));
String line = reader.readLine();
while (line != null) {
map.add(new String(line.strip()));
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
我尝试以与JavaRush 文章中相同的方式转换为数组:
String[][] zzz = map.toArray(new String[map.size()][map.get(0).length()]);
首先,您的代码缺少二维字符串列表或列表列表。另外,不要命名
map类型变量ArrayList以避免混淆,并且在键入该变量时,应该使用接口List而不是具体的实现ArrayList。其次,要从文件中长时间获取字符串列表
Files.lines(从Java 8开始),有“新”类型输入/输出的方法(默认使用UTF-8编码),即 您可以实现一个单独的方法:从二维列表中获取二维字符串数组非常简单:
map或者使用List::toArray(T[] arr)方法的操作中的较短表示法:测试:
结果: