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. vue项目启动报错You may use special comments to disable some warnings.

    在build/webpack.base.conf.js文件中,注释或者删除掉:...(config.dev.useEslint ? [createLintingRule()] : []),

  2. title 有背景边框自适应 mobile

    固定宽度,固定高度,来写背景的高度.这样就能居中.

  3. mac环境下Android 反编译

    连接地址: https://www.jianshu.com/p/3a305f32c4a3

  4. Vue props用法详解

    Vue props用法详解 组件接受的选项之一 props 是 Vue 中非常重要的一个选项.父子组件的关系可以总结为: props down, events up 父组件通过 props 向下传递数 ...

  5. lxterminal命令打开新窗口并执行python脚本

    lxterminal -e python3 -i test.py 注意,路径要写对,用绝对路径

  6. js求对象数组的交集/并集/差集/去重

    1.求交集 var arr1 = [{name:'name1',id:1},{name:'name2',id:2},{name:'name3',id:3}]; var arr1Id = [1,2,3] ...

  7. mybatis返回map类型数据空值字段不显示的解决方法

    在日常开发中,查询数据返回类型为map,数据库中有些自动值为null,则返回的结果中没有值为空的字段,则如何显示值为空的字段呢? Spring boot + MyBatis返回map中null值默认不 ...

  8. systemd_journal_no_entries问题解决

    问题: #journalctl Journal file /var/log/journal/410/system@0.journal~ uses an unsupported feature, ign ...

  9. Random Forest(sklearn参数详解)

    2016年08月17日 10:32:42 铭霏 阅读数:36874   版权声明:本文为博主原创文章,博主转载请附加原文链接并声明. https://blog.csdn.net/u012102306/ ...

  10. IP详解

    现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0.地址格式为:IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址. IP地址类型  最初设计互联网络时,为了 ...