List 去掉对象元素
2014-04-22 19:27
253 查看
经常需要将List中重复元素去掉,或者判断两个List中相同的元素。
1、通过set接口,set 不包含满足
2、普通方法,每个元素在List中进行比较
3、还是通过Set 接口
如果是对象元素,必须重写eauals方法和hashCode方法
例如:
1、通过set接口,set 不包含满足
e1.equals(e2)
HashSet set = new HashSet(list2); list2.clear(); list2.addAll(set);
2、普通方法,每个元素在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); } } }
3、还是通过Set 接口
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);
如果是对象元素,必须重写eauals方法和hashCode方法
例如:
@Override public boolean equals(Object obj) { if (obj == null) { return false; } if (obj instanceof UserQuestion) { UserQuestion userQuestion = (UserQuestion)obj; if (userQuestion.userId == this.userId) { return true; } } return false; } @Override public int hashCode() { String in = userId + sumPassId + sumPassId + questionId + ""; return in.hashCode(); }
相关文章推荐
- C语言程序前后自增(++a、a++)在Linux下的实现机制
- 高可用集群深入
- Oracle数据库案例整理-Oracle系统运行时故障-目录/var/tmp/.oracle不存在导致监听数据库失败
- ubuntu samba server 配置多用户访问
- android 进程监控 top
- POJ 2524 Ubiquitous Religions
- Oracle数据库案例整理-Oracle系统运行时故障-tnsnames.ora文件配置错误导致数据库TNSping失败
- 商城放大镜效果
- Oracle数据库案例整理-Oracle系统运行时故障-alert.log日志文件大小超出限制
- Red Hat Linux中用户和组
- java的自动装箱与拆箱以及缓存的问题
- Oracle数据库案例整理-Oracle系统运行时故障-$ORACLE_HOME/bin下的文件权限错误导致TNS连接失败
- backgroundColor和background-color的区别
- 数据挖掘——之分类和预测总结
- Oracle数据库案例整理-Oracle系统运行时故障-stage目录权限错误导致创建pfile文件失败
- 要把photoshop当一门编程语言来学习
- (2)CSS指定长度的三种方式
- vnc连接后无法启动图形
- Oracle数据库案例整理-Oracle系统运行时故障-Shared Pool内存不足导致数据库响应缓慢
- HDU 2838 (树状数组求逆序数)