黑马程序员技术交流社区

标题: 集合去除集合中字符串的重复值(自义定对象)_重写equals()~~~同学们可以来看看 [打印本页]

作者: 1126634865    时间: 2015-10-17 15:48
标题: 集合去除集合中字符串的重复值(自义定对象)_重写equals()~~~同学们可以来看看
import java.util.*;
import cn.itcast.beans.*;
public class ListTest {
        public static void main(String[] args) {
                ArrayList array = new ArrayList();
                array.add(new Student("a",10));
                array.add(new Student("b",20));
                array.add(new Student("c",30));
                array.add(new Student("a",10));
       
                array  =  test(array);
                System.out.println(array);
        }
        /*
         * 定义方法,传递原始集合
         * 对这个集合中的去重
         */
        public static ArrayList test(ArrayList array){
                //创建新的集合
                ArrayList newArray = new ArrayList();
                //迭代原始集合
                Iterator it = array.iterator();
                while(it.hasNext()){
                        //变量,保存原始集合中的元素
                        Object obj = it.next();
                        //判断这个元素obj,是不是存储在于新的集合中
                        //元素不存在,集合方法contains返回是false,存储
                        if(!newArray.contains(obj)){
                                //元素存储到新的集合
                                newArray.add(obj);
                        }
                }
                //返回新集合
                return newArray;

        }
}

/*
         * 重写equals方法,建立Student类的自己的比较方式
         * 比较的是对象的成员变量的值
         * this  obj 对象中的年龄
         *
         */
        public boolean equals(Object obj){
                 if(obj == null)
                         return false;
                 if(this == obj)
                         return true;
                 if(obj instanceof Student){
                         Student s = (Student)obj;
                         //变成this对象,和 s对象,比较自己的name age
                         //如果name相同,age也相同,返回true
                        return this.name.equals(s.name)  &&  this.age == s.age;
                 }
                 return false;
        }





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2