当前位置: 首页 > 知识库问答 >
问题:

显示由集合删除的重复条目

阳长恨
2023-03-14

我希望下面的程序打印被Set删除的重复条目。但它总是打印一个空数组。有什么可能是错的?


public class HelloWorld{
    public static void main(String[] args){
        String str="HelloWorld";
        String[] strChar=str.split("");
        
        //Remove the duplicates
        Set<String> strSet=new LinkedHashSet<String>(Arrays.asList(strChar));
        
        List<String> strList=new ArrayList<String>(Arrays.asList(strChar));
        System.out.println(strList);   
        System.out.println(strSet);  

        //Show the duplicate entries that were removed by the set
        strList.removeAll(strSet);
 
        System.out.println(strList);               
    }
}```

共有3个答案

郎经纶
2023-03-14

strSet包含['H','e','l','o','W','r','d'],对应strList中的所有项(每个项一次),因此当调用strList时。removeAll(strSet) 列表中的所有项目都将被删除。

吕鸿轩
2023-03-14
strList.removeAll(strSet);

这是你的错误线。在这一行中,列表将删除与作为参数(strSet)传递的提供元素匹配的所有元素。如果某些元素匹配,它们不仅会被删除一次,还会被多次删除。

危飞文
2023-03-14

所提供代码的输出:

$ javac HelloWorld.java && java HelloWorld
[H, e, l, l, o, W, o, r, l, d]
[H, e, l, o, W, r, d]
[]

台词:

System.out.println(strList); 

正在显示空集,因为以下语句删除了所有条目

strList.removeAll(strSet);#serSet is having [H, e, l, o, W, r, d] removeAll will make strList empty 

输出是正确的。

 类似资料:
  • 我正在使用hibernate作为对象类型从数据库获取数据。现在我的类不(也不是它的父类)重写equals方法。因此,如果我将所有object类型插入到一个hashset中,它不应该删除重复项,但它正在删除重复项。我的问题是它如何能够识别重复项?

  • 问题内容: 我想从下表中删除多个重复的键: 希望它像 我正在使用mysql。这是可能的吗?我不能使用 查询来进行唯一的输入,因为我希望将这些重复的输入输入到表中。 问题答案: 一种方法是使用将表联接到子查询上。子查询得到最低为每。当记录在子查询上不匹配时,仅表示它没有匹配的记录并且可以安全地删除。 SQLFiddle演示 但是,如果的记录可以具有不同的名称,则您需要在子句中包括它们,否则将仅保留最

  • 问题内容: 我必须向现有表添加唯一约束。很好,除了表已经有数百万行,而且许多行违反了我需要添加的唯一约束。 删除有问题的行的最快方法是什么?我有一条SQL语句,该语句查找重复项并将其删除,但要花很长时间才能运行。有没有其他方法可以解决此问题?也许备份表,然后在添加约束后还原表? 问题答案: 其中一些方法似乎有些复杂,我通常这样做是: 给定table table,要在()上对其进行唯一化,使行保持为

  • 问题内容: 我有一张有几千行的表。该表包含两列,和。我有几个重复的行,例如: John Smith | john@smith.com JJohn Smith | john@smith.com JErica Smith | erica@smith.com JErica Smith | erica@smith.com 删除所有重复结果的最简单方法是什么。例如,使表的内容为= 。 问题答案: 您可以很容

  • 我有两张桌子——桌子1和桌子2。 它们有相同的列——Col1、Col2、Col3、Col4(整数)。 我将Table_2行插入Table_1。 表_1和表_2有一些基于Col1和Col2的重复值。我需要保留表_2的值,并删除表_1的重复值。 例如: 我尝试了以下方法-

  • 本文向大家介绍如何从MongoDB集合中删除重复项,包括了如何从MongoDB集合中删除重复项的使用技巧和注意事项,需要的朋友参考一下 为此,设置“ unique:true ”,即唯一约束,并避免插入重复项,如以下语法所示: 为了理解上述语法,让我们创建一个包含文档的集合。在这里,不允许重复插入- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出-