列表 myList = list。 ( 0、1、1、2、3、5、6、0、0、1、5);hashset uniqueItems = new Hashset ();List deplicates = new ArrayList ();对于(对象项目:myList){ 如果(!uniqueItems.add(item)){重复。add(item);}}系统。 Out .println(重复);
当此代码运行时,它会打印出以下结果:
[1,0,0,1,5]
如何使用Java流找到重复
我们可以将上述标签的提高速度与Java流的速度和效率相结合,以创建非常简洁的机制。这就是下面的代码从Java列表中删除重复的方式:列表 myList = list。 ( 0、1、1、2、3、5、6、0、0、1、5);HashSetuniqueItems = new Hashset();列表重复= mylist.stream().filter(n->!uniqueItems.Add(n)).tolist();系统。 Out .println(重复);
当该代码运行时,它会打印出来:
[1,0,0,1,5]
如何在列表中找到重复项的频率
在Java列表中查找重复项的另一种方法是使用集合类的频率方法。
此示例打印出列表中每个唯一元素发生的次数,这对原始需求有点扭曲。
以下代码完成了三件事:
基于原始列表创建独特值的标签。
循环通过标签中的独特元素。
打印出列表中每个唯一元素的出现。
列表 myList = list。 ( 0、1、1、2、3、5、6、0、0、1、5);hashset 重复= new Hashset (myList);for (对象重复:重复){系统。 Out .print(重复);系统。 out .print(“出现:”);系统。 out .println(collections。频率(myList,副本));}