gpt4 book ai didi

java - 如何在ArrayList中单独使用数据?

转载 作者:行者123 更新时间:2023-12-01 18:06:48 25 4
gpt4 key购买 nike

我正在用 Java 编写一个程序,将文本文件中的数据读取到 Arraylist 中。文本文件有10行数据,每行包含一条数据,格式为:“Integer1-String1:String2”例如:“123-ABC:DEFG”。我想像这样保存Integer1、String1和String2 :

int listNumber; //This would be Integer1
String listData1; //This would be String1
String listData2; //This would be String2

所以我的问题是如何在不将每种类型的数据保存到单独的数组中的情况下执行此操作。我正在考虑这样的事情,但它不起作用:

int givenNumber = Integer.parseInt(myArrayList.substring(0, "-"));

这是我到目前为止所拥有的:

final String INPUT = "data.txt";
Scanner input = new Scanner(new FileReader(INPUT));

ArrayList<String> myArrayList = new ArrayList<String>();

while (input.hasNext()){
myArrayList.add(input.next());
}

for (int i = 0; i < myArrayList.size(); i++) {
int givenNumber = Integer.parseInt(myArrayList.substring(0, "-"));
System.out.println(myArrayList.get(i)); //Print the all data
}

抱歉,如果此信息不清楚,但我是 Java 新手,不知道如何更好地描述它。

最佳答案

您可能想为您的数据创建一个辅助类:

class ListData {
int listNumber;
String listData1;
String listData2;

ListData(int listNumber, String listData1, String listData2) {
this.listNumber = listNumber;
this.listData1 = listData1;
this.listData2 = listData2;
}

@Override
public String toString(){
return listNumber + "-" + listData1 + ":" + listData2;
}
}

然后将其存储在 ListData 数组中:

List<ListData> datalist = new ArrayList<>();
datalist.add(new ListData(listNumber, listData1, listData2);

编辑:您的实现不会解析来自扫描仪的数据。以下代码片段解析 Scanner逐行输入添加到列表中。

while (input.hasNext()) {
// Read each line from the scanner
String input = input.next();

// Split data on two delimiters '-' and ':'
String[] data = input.split("-|:");
int listNumber = Integer.parseInt(data[0]);
String listData1 = data[1];
String listData2 = data[2];

// Add to the datalist
datalist.add(new ListData(listNumber, listData1, listData2));
}

关于java - 如何在ArrayList中单独使用数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35783773/

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