zoukankan      html  css  js  c++  java
  • list集合去除重复对象的实现

    下面小编就为大家带来一篇list集合去除重复对象的实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    对象重复是指对象里面的变量的值都相等,并不定是地址。list集合存储的类型是基础类型还比较好办,直接把list集合转换成set集合就会自动去除。

    当set集合存储的是对象类型时,需要在对象的实体类里面重写public boolean equals(Object obj) {} 和 public int hashCode() {} 两个方法。

    public String id;

    public String name;
    public Student() {
    }
    public Student(String id,String name) {
    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 boolean equals(Object obj) {
    Student s=(Student)obj;
    return id.equals(s.id) && name.equals(s.name);
    }
    @Override
    public int hashCode() {
    String in = id + name;
    return in.hashCode();
    }
    }

    import java.util.HashSet;

    import java.util.List;
    import java.util.Set;
     
    public class QuSame {
      
     public static void main(String[] args) {
     List<Student> stu = new ArrayList<Student>();
     stu.add(new Student("1","yi"));
     stu.add(new Student("3","san"));
     stu.add(new Student("3","san"));
     stu.add(new Student("2","er"));
     stu.add(new Student("2","er"));
     //set集合保存的是引用不同地址的对象
     Set<Student> ts = new HashSet<Student>();
     ts.addAll(stu);
      
     for (Student student : ts) {
      System.out.println(student.getId()+"-"+student.getName());
     }
     }
    }

    以上这篇list集合去除重复对象的实现就是小编分享给大家的全部内容了,希望能给大家一个参考

  • 相关阅读:
    JDBC原理及常见错误分析
    response,session,cookie
    Activity LifeCycle (安卓应用的运行机制)
    简单的接口取数据渲染到图表
    图表里面双重下拉框进行判断
    用js方式取得接口里面json数据的key和value值
    一个div多个图表共用一个图例
    一个页面多图表展示(四个div的方式)
    vue组件之子组件和父组件
    根据判断对颜色进行改变
  • 原文地址:https://www.cnblogs.com/qianzf/p/7598967.html
Copyright © 2011-2022 走看看