ArrayList去除重复对象
import java.util.ArrayList; import java.util.ListIterator; class Student{ String name; int age; public Student( String name , int age){ this.name = name; this.age = age; } @Override public boolean equals(Object obj) { if(obj == null) return false; if(this == obj) return true; Student student = null; if (obj instanceof Student) student = (Student)obj; if(this.name.equals(student.name) && this.age == student.age) return true; return false; } @Override public String toString(){ return "("+this.name+","+this.age+")"; } } public class RemoveObject { static ArrayList getSingle(ArrayList list) { //创建一个新集合,循环传递进来的集合进行比较,有重复不添加 ArrayList arrayList = new ArrayList(); ListIterator it = list.listIterator(); while (it.hasNext()) { Object obj = it.next(); if (! (arrayList.contains(obj)) ) { arrayList.add(obj); } } return arrayList; } @SuppressWarnings("rawtypes") public static void main(String[] args) { ArrayList list = new ArrayList(); list.add(new Student("凿壁借光——匡衡", 10)); list.add(new Student("凿壁借光——匡衡", 10)); list.add(new Student("萤囊映雪——车胤", 11)); System.out.println(list);//[(凿壁借光——匡衡,10), (凿壁借光——匡衡,10), (萤囊映雪——车胤,11)] ArrayList arrayList = getSingle(list); System.out.println(arrayList);//[(凿壁借光——匡衡,10), (萤囊映雪——车胤,11)] } }
核心:重写equalse()方法!
传播知识,分享快乐!
作者:IT_BULL
出处:http://www.cnblogs.com/itBulls/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
博客园-博客园。