Java ArrayList对象集合去重
2024-08-23 03:56:23
import java.util.ArrayList;
import java.util.Iterator; public class StringSampleDemo {
public static void main(String[] args) {
ArrayList al = new ArrayList();
al.add(new Student("zhangsan1", 20, "男"));
al.add(new Student("zhangsan1", 20, "男"));
al.add(new Student("lilin1", 21, "女"));
al.add(new Student("lilin1", 21, "女"));
al.add(new Student("lisi", 25, "男")); al = getUniqueList(al); for (Object o : al) {
Student s = (Student) o;
System.out.println(s.getName() + "...." + s.getAge() + "...." + s.getSex());
} /** 去重后的集合数据
*
* zhangsan1....20....男
* lilin1....21....女
* lisi....25....男
*/ } /**
* 去除重复对象
*
* @param al
* @return
*/
public static ArrayList getUniqueList(ArrayList al) {
ArrayList tempAl = new ArrayList(); Iterator it = al.iterator();
while (it.hasNext()) {
Object obj = it.next();
if (!tempAl.contains(obj)) //不存在则添加
{
tempAl.add(obj);
}
}
return tempAl;
}
} class Student {
private String name;
private int age;
private String sex; public Student(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
} /**
* 重点是重写比较方法
*
* @param obj
* @return
*/
@Override
public boolean equals(Object obj) {
if (obj instanceof Student) {
Student s = (Student) obj;
return this.name.equals(s.name) && this.age == s.age && this.sex.equals(s.sex);
} else {
return false;
}
}
}
最新文章
- remove name=";ProxyModule“会导致重复执行
- 51NOD算法马拉松11 B君的竞技场
- [转]div与span区别及用法
- 关于tomcat的远程调试
- SuperSocket源码解析之开篇
- canvas绘制百分比圆环进度条
- 【SAP HANA】新建账户和数据库(2)
- Mysql查询报错:Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
- MySQL高级知识(十六)——小表驱动大表
- vue2.x + vux采坑总结(一)
- 用嵌入式块RAM IP核配置一个双口RAM
- 8. String to Integer (整数的溢出)
- ELK简单部署
- innodb_file_per_table - 转换为InnoDB
- 网络获取json数据并解析
- C# •MouseDown •MouseDown •MouseUp 的先后顺序
- JDK 泛型
- HeadFirst jsp 08 无脚本JSP
- 关于Html5中的单选与多选
- Python3.6全栈开发实例[008]