gpt4 book ai didi

java - 如何从文本文件创建对象的数组列表并使每个对象成为 java 中的数组?

转载 作者:行者123 更新时间:2023-12-02 09:28:06 28 4
gpt4 key购买 nike

如何导入 .txt 文件,然后将每一行作为对象放入数组列表中,但让每个对象都是一个数组。

.txt 文件如下所示:

1 a 1 2 
1 b 0 1
2 a 2 3
2 b 0 3
3 a 3 1
3 b 0 3

我希望能够使每一行成为一个对象数组,这样我就可以调用该对象和数组中的特定点:

<1,a,1,2> 
<1,b,0,1>
<2,a,2,3>
<2,b,0,3>
<3,a,3,1>
<3,b,0,3>

然后有一个数组列表,其中每一行(可以有任意数量的行,因此我选择数组列表)是数组列表中的一件事。有点像<line1,line2,line3,etc..>所以我可以使用数组列表,然后使用数组列表中各个数组中的值。

这是我目前拥有的代码,我不知道从这里去哪里。我正在使用缓冲阅读器


Scanner input = new Scanner(System.in); // Create a Scanner object
String inputString = input.nextLine();



try {

BufferedReader FSMreader = new BufferedReader(new FileReader(args[0]));
List<FSMline> line = new ArrayList<>();
List<String> currentState = new ArrayList<>();
List<String> inputChoice = new ArrayList<>();
List<String> outputFunction = new ArrayList<>();
List<String> nextState = new ArrayList<>();



String lines;
while ((lines = FSMreader.readLine()) != null) {

line.add(new FSMline(lines.split(" ")));

}

感谢任何帮助,因为我在截止日期前的类(class)上已经没有时间了,而我很难理解。

谢谢

最佳答案

因为你没有提到FSMline的数据类型,我创建一个集合(数组的数组列表)- List<String[]> - 存储给定文本文件的内容如下:

BufferedReader fsmReader = new BufferedReader(new FileReader(args[0]));

List<String[]> contentList = new ArrayList<>();
String lines;
while ((lines = fsmReader.readLine()) != null) {
contentList.add(lines.split(" "));
}

//print the list
for (String[] content : contentList) {
System.out.println(Arrays.toString(content));
}

控制台输出:

[1, a, 1, 2]
[1, b, 0, 1]
[2, a, 2, 3]
[2, b, 0, 3]
[3, a, 3, 1]
[3, b, 0, 3]

已更新

如果你想获取数组列表中第一个数组的第三个元素,请使用 get(int index)[int index]分别从列表和数组中检索元素:

System.out.println(contentList.get(0)[2]);

或者,您可以使用 Arrays.asList() 将数组转换为列表,那么您还可以使用get(int index) :

System.out.println(Arrays.asList(contentList.get(0)).get(2));

关于java - 如何从文本文件创建对象的数组列表并使每个对象成为 java 中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58189959/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com