java - 在二维数组中查找一个字符串,然后转到相应的列
问题描述
所以我将 CSV 转换为数组。CSV 的第一列由描述该列内容的标题组成。在我的情况下:产品 ID | 产品名称 | 产品成本 | 数量
我正在尝试遍历数组,找到字符串item1
,然后转到该项目的数量,它在同一行,但在不同的列中。
例如:
产品编号 | 产品名称 | 产品成本 | 数量
--001----- | ------项目1----- | --5.99----- | --3-----
--002----- | ------项目2----- | --2.99----- | --5-----
所以我想去这个数组,找到item1
行索引1中的字符串,然后去列索引3将数量提取到一个变量中。然后我想存储到一个变量中以最终打印出来there are only 3 item1's left
或类似的东西。
这是我到目前为止得到的:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class test2 {
public static List<List<String>> csvToArray() {
String fileName = "c:\\temp\\test.csv";
File file = new File(fileName);
// this gives you a 2-dimensional array of strings
List<List<String>> lines = new ArrayList<>();
Scanner inputStream;
try {
inputStream = new Scanner(file);
while (inputStream.hasNext()) {
String line = inputStream.next();
String[] values = line.split(",");
// this adds the currently parsed line to the 2-dimensional string array
lines.add(Arrays.asList(values));
}
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return lines;
}
public static void printArray(List<List<String>> lines){
int lineNo = 1;
for (List<String> line : lines) {
int columnNo = 1;
for (String value : line) {
System.out.println("Line " + lineNo + " Column " + columnNo + ": " + value);
columnNo++;
}
lineNo++;
}
}
public static void main(String[] args) {
csvToArray();
printArray(csvToArray());
}
}
如您所见,在该方法中,printArray
我只是打印出 Array 以获取我所在位置的参考,但是一旦我尝试添加if
's,我就会迷路。
任何帮助都会很棒:)
解决方案
最好的解决方案是将每一行映射到一个“产品”对象。这个新闻类将包含产品ID、产品名称、产品成本和数量等属性。
一旦每行映射到一个产品对象,您只需找到具有所需产品名称的产品,然后您就可以轻松访问它的其他属性。
推荐阅读
- java - Locating a pop up window with HtmlUnit
- python - Django: {% csrf_token %} keeps returning 403 Forbidden error
- c - C 编程中的“while 循环”内存如何工作?
- filter - Dart:过滤列表的 where() 函数存在问题
- javascript - JavaScript statements won't work after five statements
- javascript - 如何设置密码在单击图标时可见
- ruby-on-rails - 为什么我在创建控制器/模型时出错?
- c# - 如何打乱子串
- python - 获取函数中必需和非必需参数的数量
- javascript - How to use
in google map label's text: