java - 如何将未选定的项目从列表移动到另一个列表?列表

标签 java jlist

我试图仅将列表中未选定的项目移动到另一个列表中。另外,我想在移动项目之前验证这些项目是否已经在下一个列表中。

这就是我目前所拥有的

 int sel[] = lstNum1.getSelectedIndices();

    for (int i = 0; i < model1.getSize(); i++) {
        if(!model1.getElementAt(i).equals(model1.getElementAt(sel[i]).toString())){
            model2.addElement(model1.getElementAt(i).toString());
        }
    }

我试图将位置“i”处的项目与 selectedArray 处的项目进行比较,但没有成功。

最佳答案

AbtPst 提供的答案的简单版本:

    Set<Integer> keepThese = new HashSet<Integer>();
    for (int x : sel) {
      keepThese.add(x);
    }

    for (int i=0 ; i<firstList.size() ; i++) {
       if( !keepThese.contains(i)) {
         if( !secondList.contains(firstList.get(i))) {
           secondList.add(firstList.get(i));
         }
       }
    }

关于java - 如何将未选定的项目从列表移动到另一个列表?列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33266384/

相关文章:

java - JList Swing 添加描述到列表项

java - Swing GUI 组件(JList/JTable)的旋转和透视

java - 如何将 JPanel 添加到 JFrame

java - Eclipse 最新 5 月 JAva 6 升级中的自动完成功能被破坏?

java - 为什么不发送电子邮件?

java - 如何将 lib 包含到嵌入式 OpenLiberty jar 中?

java - 如何获取在我的 JList 中可见的列数和行数?

java - JScrollPane 在 JPanel 的剩余区域上最大化嵌入组件

java - 集成显卡上的 Java2D 绘图速度缓慢

java - 使用文本框作为 JList 的输入