java - 如何比较字符串以获取缺失的单词?

标签 java string jtable

我创建了一个表格和一些按钮来删除/添加行。 问题是,当我添加新行时,我必须在字段名称中插入一个该表中尚不存在的值。让我解释一下。

这是默认表:

11

现在假设我删除了 Station 3:

22

如果我添加一个新站,我想添加一个新站名称 Station 3(列表中缺少该站),但我要添加一个新站 5(显然,因为我的代码不正确)。

33

我的“添加按钮”操作事件的代码如下:

private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {                                          
    DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
    String s2 = "";
    String s1 = "Station 1 Station 2 Station 3 Station 4 Station 5";
    int tb1rows = jTable1.getRowCount();
    if (tb1rows == 5) {
        // ERROR - MAXIMUM STATION NUMBER
    }
    else {
        for (int i=0; i<tb1rows;i++) {
            s2.concat(jTable1.getValueAt(i,1).toString());
            s2.concat(" ");
         }
        String[] s3=s2.split(" ");
        for (int i=0;i<s3.length;i++) {
            if (s1.contains(s3[i])) {
                System.err.println("contains");
                System.out.println(s3[i]);
            }
        }
        model.insertRow(jTable1.getRowCount(),new Object[] {jTable1.getRowCount() + 1,"Station " + (jTable1.getRowCount()+1),10,false,0,Color.BLACK});
    }
}

我的逻辑有什么问题吗?有没有更好的方法来处理该问题,以便我可以获得该列中缺少的“Station x”,以便我可以重新添加它?

预先感谢您的回答。

最佳答案

由于“Station 1”中有一个空格,因此不能分割空格。最好使用Set<String> values = new HashSet<String>(),而不是使用另一个分隔符,如“;”。 .

关于java - 如何比较字符串以获取缺失的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11586369/

相关文章:

string - 在 Bash 中提取子字符串

java - JTable 行的 ActionListener

java - 对 jTable 中的列求和?

java - 如何使用迭代器遍历二维 ArrayList?

php - 在 PHP 中是否有任何等效函数返回位置 `X` 处的字符?

java - JSON 模式验证 - Java POJO 与单独的 .json 文件

swift - 类型 'String' 不符合协议(protocol) 'Sequence'

Java:JTable 重新排序行并刷新

java - 2 字节 UTF-8 序列的无效字节 2

java - 我们可以用Java解析terraform "variables.tf"文件吗?如果是这样如何实现相同的