java - 查找 vector 的重复项并删除,保留平行 vector 的顺序

标签 java vector duplicates

此代码只是一个测试,用于查找 vector 的重复项并将其删除,同时删除其他 2 个 vector 的对应对象

这在第 3 行给出了 Arrayoutofindex 作为输出。您有什么建议吗?

        for (int k = 0 ; k < vA.size() ; k++)
            {                       
                Object a = vA.elementAt(0);
                Object b = vA.elementAt(k);
                if(a == b && k!=0)
                {
                int duplicate = vA.indexOf(b);
                vA.removeElementAt(duplicate);
                vB.removeElementAt(duplicate);
                vC.removeElementAt(duplicate);                    
                }

最佳答案

根据This问题,我建议您阅读,因为它解释了从数组中删除重复项的方法,

您可以使用以下方法: 删除重复方法:

    /** List order not maintained **/
public static void removeDuplicate(ArrayList arlList)
{
 HashSet h = new HashSet(arlList);
 arlList.clear();
 arlList.addAll(h);
}

以及removeDuplicateWithOrder方法:

    /** List order maintained **/
public static void removeDuplicateWithOrder(ArrayList arlList)
{
   Set set = new HashSet();
   List newList = new ArrayList();
   for (Iterator iter = arlList.iterator(); iter.hasNext();) {
      Object element = iter.next();
      if (set.add(element))
         newList.add(element);
   }
   arlList.clear();
   arlList.addAll(newList);
}

希望这些对您有所帮助。

关于java - 查找 vector 的重复项并删除,保留平行 vector 的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10675064/

相关文章:

java - 如何避免冒泡排序算法中重复的字符串值?

java - Java 中如何计算递归函数?

java - 在 ListFragment 中使用 asset 文件夹中的图像而不是可绘制文件夹

Hibernate:OneToMany 映射失败

c++ - 如何保留指向插入集合然后插入 vector 的对象的指针?

c++ - 将世界空间 vector 转换为局部空间

string - 如何有效地从字符串中删除重复字符?

java - 如何允许用户在 vaadin 表中拖放行?

java - 通过 Internet 进行邮件合并

r - 从整数向量构建一个更长的向量,包括与原始整数的距离最多为 10 的所有整数