首页 > 编程知识 正文

去除list中重复的数据,java多线程处理list不重复

时间:2023-05-05 11:35:02 阅读:32629 作者:2590

介绍以下五种方法-使用不同的方法3358 www.Sina.com/Java http://www.Sina.com /中的3358 www.Sina.com/1.linked hashset重复arraylist

删除重复数据保留已添加数据的顺序Java示例使用链接的散列来删除arraylist中的重复数据。 在一个示例中,numbersList是一个包含整数的arraylist,其中有重复的数字,如1、3和5。 将列表添加到链接的散列中,并将内容返回到列表中。 结果arraylist中没有重复的整数。

publicstaticvoidmain (string [ ] args ) intlist )=[ 1,1,2,3,3,4,5,6,6,6,7,8 ]链路共享阵列system.out.println (listwithoutduplicates; }输出结果

[1、2、3、4、5、6、7和8 ]2.通过使用Java 8的新功能stream进行列表,从arraylist中删除重复项非常重要。 也可以使用java 8 stream api。 使用steam的distinct ()方法返回由在对象的去除方法中比较的不同数据组成的流。

使用Collectors.toList ()收集所有区域数据List。

一个Java程序,用于在不使用Set的情况下从Java的arraylist中删除重复项。

publicstaticvoidmain (字符串[ ] args ) intlist )=[ 1,1,2,3,3,4,5,6,6,6,7,8 ]监听器系统}输出结果

[1、2、3、4、5、6、7、8]

3 .利用hashset无法添加重复数据的特性,hashset无法保证添加顺序,因此仅保证顺序作为判断条件: privatestaticvoidremoveduplicate (Li字符串列表) hashset for(stringstr:list ) if ) set.add(str ) ) result.add (str ); } } list.clear (; list.addall(result; }

利用List的contains方法循环遍历、排序、仅添加一次数据、避免重复:专用列表列表列表列表列表result.contains(str ) ) result.add ) str; } } list.clear (; list.addall(result; )5.双for循环去重publicstaticvoidmain (string [ ] args ) intlist [ ]=[ 1,1,2,3,3,4,5,6,6,7,8 ] foor I list . I ) for(intj=I1; j List.size (; j ) if(list.get(I )==List.get(j ) j ) ) list.remove ) j; j----; }}}}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。