List双重for根据字段去重 修改需要迭代器 要不会抛异常

List双重for根据字段去重 修改需要迭代器 要不会抛异常

2023-06-13 / 0 评论 / 44 阅读 / 正在检测是否收录...
public class Test {
    public static void main(String[] args) {
List<User3> list = new ArrayList<User3>();
list.add(new User3("1", "张三1"));
        list.add(new User3("1", "张三2"));
        list.add(new User3("2", "张三3"));
        list.add(new User3("2", "张三4"));
        list.add(new User3("3", "张三5"));
        System.out.println("去重前:");
        for (User3 user : list) {
            System.out.println(user);
        }
        System.out.println("去重后:");
        List<User3> repeatList = new ArrayList<User3>();// 用于存放重复的元素的list
        for (int i = 0; i < list.size() - 1; i++) {
            for (int j = list.size() - 1; j > i; j--) {
                if (list.get(j).getId().equals(list.get(i).getId())) {
                    repeatList.add(list.get(j));// 把相同元素加入list(找出相同的)
                    list.remove(j);// 删除重复元素
                }
            }
        }
        for (User3 user : list) {
            System.out.println(user);
        }
        System.out.println("相同的元素:");
                for (User3 user : repeatList) {
            System.out.println(user);
        }
    }

}

class User3 {

    private String id;
    private String name;

    public User3(String id, String name) {
        super();
        this.id = id;
        this.name = name;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    @Override
    public String toString() {
        return "User3 [id=" + id + ", name=" + name + "]";
    }
}


本文共 49 个字数,平均阅读时长 ≈ 1分钟
0

打赏

海报

正在生成.....

评论 (0)

取消