找到唯一且重复的值

时间:2014-08-02 09:15:46

标签: java arrays apache apache-poi

cells1 中,我有值列表,即[4000,4001,4002,4003],并且 cells2 具有[1234,4000]。我试图找到重复和独特的价值,但即使它每次去其他部分都有重复值。为什么任何代码都错了。

Iterator itr = cells2.iterator();
    while(itr.hasNext()){
      HSSFCell s = (HSSFCell) itr.next();
      boolean sta = cells1.contains(s.getStringCellValue());
        if(sta==true){
        System.out.println("Dublicate:>>>>"+s.toString());
         }else{
           System.out.println("unique value:>>>>:"+s.toString());
              }
         }
     }

输出值是:

唯一值:>>>>:1234

唯一值:>>>>:4000 < - 这是错误的输出

1 个答案:

答案 0 :(得分:1)

来自您的评论cells1ArrayList<Cell>,因此您致电cells1.contains(s.getStringCellValue());表示在String ArrayList中找不到Cells的{​​{1}}这就是它进入其他部分的原因。

最终,您试图在String中找到Cells,这是不可能的。

您必须将String的每个单元格的String值(表示单元格的ArrayList<Cell>值)与您必须覆盖的s.getStringCellValue()进行比较{{1}方法或声明自己的方法。

contains