我从.tsv文件中获得了一个二维数组,我已经完成了这个
该文件的信息内容有点像:
HG sn FA
PC 2 16:0
PI 1 18:0
PS 3 20:0
PE 2 24:0
26:0
16:1
18:2
String[][] root;
List<String> lines = Files.readAllLines(Paths.get("table.txt"), StandardCharsets.UTF_8);
lines.removeAll(Arrays.asList("", null));
root = new String[lines.size()][];
for(int i =0; i<lines.size(); i++){
root[i] = lines.get(i).split("\t");
然后可以输入用户输入,然后将其拆分为字符串
Scanner sc = new Scanner( System.in );
System.out.print("Input =>");
String lipid = sc.nextLine();
String parts[] = lipid.split(" ");
String hg = parts[0];
String lc = parts [1];
此用户输入可能类似于PC 34:2,然后我想检查2darray中的字符串hg,以查找有关sn值的信息。该值稍后将用于数学算法中。
但是如何检查2d数组中的字符串hg,以获取sn值的信息?
答案 0 :(得分:0)
String result = null;
for(int i=0;i<root.length;i++){
if(root[i][0].equals(hg)){
result = root[i][1];
break;
}
}
System.out.println("result=" + result);
答案 1 :(得分:0)
您可以在root上运行 for loop 进行简单搜索,然后检查 root [i] [0] .equals(hg);
如果是返回root [i] [1];
的 [UPDATE] 强>
代码相同:
String sn;
for(int i = 0; i < root.length; i++) {
if (root[i][0].equals(hg)) { // check for matching value of 'hg' in first column
sn = root[i][1]; // corresponding 'sn' value from 2D array
break;
}
}
// to extract double value from string sn
double sn_value = -1;
if (sn != null) {
sn_value = Double.valueOf(sn);
}
同时阅读HashMap
和HashTable
(基于KEY-VALUE检索),将来会有所帮助。
干杯,
Mitesh