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;
}
}
}

  

Java ArrayList对象集合去重的更多相关文章

  1. JAVA 自定义对象集合 List<T> 根据自定义字段去重

    1.拥有自定义对象 MyUser @Data public class MyUser { private String userName; private String passWord; } 2.编 ...

  2. Java List对象集合按对象属性分组、分组汇总、过滤等操作示例

    import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Col ...

  3. C#ArrayList对象集合

    ArrayList alist = new ArrayList(); //集合对像 长度可以改变,类型不限 //添加单个元素可以Add() alist.Add("在在的"); al ...

  4. c#ArrayList 对象集合 按某字段(属性)排序

    主程序代码 newsCompare newsCompare = new ItemManage.newsCompare(); newsList.Sort(newsCompare); 自定义类代码(按照C ...

  5. java8 List对象集合去重

    //测试数据 WaterMeter w0 = new WaterMeter(); WaterMeter w1 = new WaterMeter(); WaterMeter w2 = new Water ...

  6. C# List集合去重操作注意点

    今天调试代码时发现list的distinct方法在对引用类型操作时并没有去重,后来查阅资料发现list去重操作对象集合时比较的是对象的一个个引用地址, 因为集合里的对象都是一个个单独的实例,所以并不会 ...

  7. java中对集合对象list的几种循环访问

    java中对集合对象list的几种循环访问的总结如下 1 经典的for循环 public static void main(String[] args) { List<String> li ...

  8. 【转】Java如何克隆集合——深度拷贝ArrayList和HashSet

    原文网址:http://blog.csdn.net/cool_sti/article/details/21658521 原英文链接:http://javarevisited.blogspot.hk/2 ...

  9. (转)java中对集合对象list的几种循环访问总结

    Java集合的Stack.Queue.Map的遍历   在集合操作中,常常离不开对集合的遍历,对集合遍历一般来说一个foreach就搞定了,但是,对于Stack.Queue.Map类型的遍历,还是有一 ...

随机推荐

  1. 解决SecureCRT 中文乱码??

    在linux服务器上搭建solr,用的是SecureCRT  连接linux服务器,发现不能输入中文,配置文件中的中文也是乱码:先以为是SecureCRT工具编码的问题,把编码改成utf-8之后发现还 ...

  2. windows cmd下列出当前目录下的所有文件

    使用的命令是dir 如,列出当前目录下的目录及文件名到1.txt: dir /b >1.txt 只列出某类文件 dir *.txt  /b >1.txt

  3. 浅谈Vue.js2.0某些概念

    Vue.js2.0是一套构建用户界面的渐进式框架,目标是实现数据驱动和组件系统.   A 渐进式框架 Vue.js是一个提供MVVM数据双向绑定的库,只专注于UI层面,这是它的核心.它本身没有解决SP ...

  4. 解决此报错:Cannot create Woodstox XMLInputFactory: java.lang.NoClassDefFoundError: com/ctc/wstx/stax/WstxInput

    最近在研究webservice服务的技术,可是写完webservice例子后,项目正常启动,但是在输入url地址后报如下的错误: Cannot create Woodstox XMLInputFact ...

  5. DQL 查询表中的数据

    DQL 查询表中的数据:查询语句(最复杂的语句)不会对数据库中的数据进行修改,只是一种显示数据的方式 语法格式: select 字段列表 from 表名列表 where 条件列表 group by 分 ...

  6. 跨服务器查询sql语句样例(转)

    若2个数据库在同一台机器上: insert into DataBase_A..Table1(col1,col2,col3----) select col11,col22,col33-- from Da ...

  7. Windows环境下大数据处理的构想(一)

    为什么不呢?我们有了RPC/RMI和MAP,为什么不能在windows环境下处理大数据呢?windows是迄今为止最普及的操作系统,据市调公司NetMarketShare最新(2019年5月)统计数据 ...

  8. c++第五次作业

    运算符重载 一.运算符重载基本规则 1.运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时导致不同的行为. 2.一般来讲,重载的功能应当与原有功能相似,不能改变原运算符的操作 ...

  9. samba 问题解决

    问题1:使用cifscreds 命令提示 You already have stashed credentials for bash-4.2$ cifscreds add 172.24.8.11 Yo ...

  10. SpringBoot 注册Servlet三大组件【Servlet、Filter、Listener】-原生代码+@Bean+效果展示

    由于SpringBoot默认是以jar包的方式启动嵌入式的Servlet容器来启动SpringBoot的web应用,没有web.xml文件. 注册三大组件,class MyServlet()/clas ...