博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java去除List中重复的元素
阅读量:6737 次
发布时间:2019-06-25

本文共 1167 字,大约阅读时间需要 3 分钟。

hot3.png

如果用Set ,倘若list里边的元素不是基本数据类型而是对象,

那么请覆写Object的boolean   equals(Object   obj)   和int   hashCode()方法.

return new ArrayList(new HashSet(list)); 

方法一:循环元素删除 

图片点击可在新窗口打开查看// 删除ArrayList中重复元素 

public static void removeDuplicate(List list) {   for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {     for ( int j = list.size() - 1 ; j > i; j -- ) {       if (list.get(j).equals(list.get(i))) {         list.remove(j);       }       }     }     System.out.println(list);}

方法二:通过HashSet剔除

图片点击可在新窗口打开查看// 删除ArrayList中重复元素 

public static void removeDuplicate(List list) {      HashSet h = new HashSet(list);      list.clear();      list.addAll(h);      System.out.println(list);}

方法三: 删除ArrayList中重复元素,保持顺序

// 删除ArrayList中重复元素,保持顺序 

public static void removeDuplicateWithOrder(List list) {     Set set = new HashSet();      List newList = new ArrayList();   for (Iterator iter = list.iterator(); iter.hasNext();) {          Object element = iter.next();          if (set.add(element))             newList.add(element);       }       list.clear();      list.addAll(newList);     System.out.println( " remove duplicate " + list);}

如果用HashSet的话,如果是对象,则要将对象实现equals和hashCode方法

转载于:https://my.oschina.net/u/141132/blog/383863

你可能感兴趣的文章
IDA 操作记录
查看>>
告警系统需求分析 告警系统主脚本 告警系统配置文件 告警系统监控项目
查看>>
JavaServer Faces (JSF) with Spring
查看>>
知物由学 | 这些企业大佬如何看待2018年的安全形势?
查看>>
[转]Mongodb的下载和安装
查看>>
usb_submit_urb
查看>>
[Node.js] Add Logging to a Node.js Application using Winston
查看>>
qt-solutions提供了8个开源项目
查看>>
处理:“ORA-00257: archiver error. Connect internal only, until freed”的错误问题
查看>>
java 取汉字首字母
查看>>
苹果版小黄车(ofo)app主页菜单效果
查看>>
使用Genymotion模拟器或者手机运行ionic4程序
查看>>
Hadoop之父Doug Cutting
查看>>
关于socket阻塞与非阻塞情况下的recv、send、read、write返回值---部分内容可能不确切,待讨论...
查看>>
Matlab随笔之插值与拟合(上)
查看>>
Socket 通信(基础原理、实时聊天系统雏形)
查看>>
理解和使用WPF 验证机制
查看>>
tensorflow 在加载大型的embedding模型参数时,会遇到cannot be larger than 2GB
查看>>
Flutter的教程:ListView
查看>>
xxl-job安装教程
查看>>