作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 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/
我是一名优秀的程序员,十分优秀!