A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 暴走的牛奶 中级黑马   /  2015-8-26 23:29  /  270 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package cn.itcast.list;
/*
*  去掉List集合重复元素
*    由于List本身运行存储重复元素
*    自定义方法实现
*
*  去掉自定义的对象
*/
import java.util.*;
import cn.itcast.beans.*;;
public class ListTest {
        public static void main(String[] args) {
                //定义集合,存储字符串
        /*        List list = new ArrayList();
                list.add("abc");
                list.add("itcast");
                list.add(new String("java"));
                list.add(new String("java"));
                list.add("php");
                list.add("ios");
                list.add("ios");*/
               
                //定义集合,存储自定义的学生对象,姓名年龄相同的,去掉
                List list = new ArrayList();
                list.add(new Student("a",10));
                list.add(new Student("b",12));
                list.add(new Student("c",15));
                list.add(new Student("b",12));
               
                System.out.println(list);
                list = method(list);
                System.out.println(list);
        }
        /* 定义方法,实现去掉List集合重复元素
         * 方法需要参数,方法在计算中有不确定的数据
         * 运算完成,返回去掉重复后的集合
         */
        public static List method(List list){
                // 创建新的集合
                List newlist = new ArrayList();
                //迭代传递过来的集合
                Iterator it = list.iterator();
                while(it.hasNext()){
                        //变量,存储next方法的结果,重用变量,next只能有一次
                        Object o = it.next();
                        //判断元素o,在新的集合中有没有
                        if(!newlist.contains(o))
                                //if成立,元素没有,存储到新集合
                                newlist.add(o);
                }
                //迭代完成,返回新集合
                return newlist;
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马