检查2d数组中的字符串

时间:2014-01-02 11:11:12

标签: java

我从.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值的信息?

2 个答案:

答案 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);
}

同时阅读HashMapHashTable(基于KEY-VALUE检索),将来会有所帮助。

干杯,

Mitesh