对list去重,通过两次增强for循环

public static void main(String[] args) {
        List<SingleDog> lists = new ArrayList<SingleDog>();
        SingleDog a = new SingleDog();
        a.setAge(18);
        a.setName("张三");
        a.setSex("男");
        lists.add(a);
        SingleDog b = new SingleDog();
        b.setAge(23);
        b.setName("李四");
        b.setSex("男");
        lists.add(b);
        SingleDog c = new SingleDog();
        c.setAge(23);
        c.setName("李四");
        c.setSex("男");
        lists.add(c);

        SingleDog d = new SingleDog();
        d.setAge(33);
        d.setName("王五");
        d.setSex("男");
        lists.add(d);
        System.out.println("去重前----------------------");
        for (SingleDog sd : lists) {
            System.out.println(sd.toString());
        }
        List<SingleDog> newList2 =   getSingleDogs(lists);
        System.out.println("去重后----------------------");
        for (SingleDog sd : newList2) {
            System.out.println(sd.toString());
        }

    }

    public static List<SingleDog> getSingleDogs(List<SingleDog> list) {
        // 创建一个新的list对象
        List<SingleDog> newList = new ArrayList<SingleDog>();
        boolean flag = false;
        for (SingleDog oldSD : list) {
            for (SingleDog newSD : newList) {
                if (newSD.getName().equals(oldSD.getName())) {
                    flag = true;
                }else {
                    flag =false;
                }
            }
            if (!flag) {
                newList.add(oldSD);
            }
        }

        return newList;
    }




package com.september;

/**
 * Created by cdm on 2018/9/24
 */
public class SingleDog {

    int age;

    String name;

    String sex;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "SingleDog{" +
                "age=" + age +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                '}';
    }
}

测试结果:

去重前----------------------
SingleDog{age=18, name='张三', sex='男'}
SingleDog{age=23, name='李四', sex='男'}
SingleDog{age=23, name='李四', sex='男'}
SingleDog{age=33, name='王五', sex='男'}
去重后----------------------
SingleDog{age=18, name='张三', sex='男'}
SingleDog{age=23, name='李四', sex='男'}
SingleDog{age=33, name='王五', sex='男'}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值