ArrayList检查重复项

时间:2014-11-28 15:04:49

标签: arraylist duplicates

我正在尝试从表中删除重复项。我想只删除那些id和数据相等的行。我的代码在第四行失败了。有两个相等的ID,但日期不同。这是我遇到错误的唯一情况。我尝试添加不同的行,它工作得很好。

        int i=jTable1.getSelectedRow();
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        jXDatePicker1.setFormats(dateFormat);
        String date = dateFormat.format(jXDatePicker1.getDate()).toString();
        String c1=jTable1.getValueAt(i, 0).toString();
        String c2=jTable1.getValueAt(i, 1).toString();
        String c3=jTable1.getValueAt(i, 2).toString();
        String c4=jTable1.getValueAt(i, 3).toString();
        String c5=price.getText().toString();
        String c6=jTextField1.getText().toString();
        String c7=date;
        model.addRow(new Object[]{c1, c2, c3, c4, c5, c6, c7});
        jTable2.setModel(model);

        ArrayList<String> list = new ArrayList();
        int rows = jTable2.getRowCount();
        for (int m=0; m<rows; m++){
            String ids = jTable2.getValueAt(m, 0).toString();
            String data = jTable2.getValueAt(m, 6).toString();
            if (list.contains(ids)&&list.contains(data)) {
                JOptionPane.showMessageDialog(null, "Record exist");
                model.removeRow(jTable2.getRowCount()-1);
            }
            else{
                list.add(ids);
                list.add(data);
            }
        } 

enter image description here

1 个答案:

答案 0 :(得分:0)

只需将两个字符串连接成一个,然后将其与列表进行比较。