`

list集合去除重复对象

 
阅读更多

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

 

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

 

代码实例:

public class Student {
    public String id;
    public String name;
    public Student() {
    }
    public Student(String id,String name) {
        this.id = id;
        this.name = name;
    }

    // 省略get、set方法
    ......
    @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();
    }
}

 

测试:

public class Test {
    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());
        }
    }
}

 

http://blog.csdn.net/emoven/article/details/12999265

分享到:
评论

相关推荐

    list集合去除重复对象的实现

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

    list去掉重复对象

    一个list里面有多个对象,对象有几个字段,要求在对象里面不要有重复的数据的实现。

    两个list比较 取不同的对象

    比较list得到不同的对象 慎重注意list的大小变化和索引 精简算法

    Java中List集合对象去重及按属性去重的8种方法

    主要介绍了Java中List集合对象去重及按属性去重的8种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一地的参考借鉴价值,需要的朋友可以参考下

    List集合多个复杂字段判断去重的案例

    今天小编就为大家分享一篇关于List集合多个复杂字段判断去重的案例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    集合框架练习.doc

    3. 创建一个 List 集合对象,添加 20 个 30 以内的随机整数,不允许重复,并打印输出 Java 中的 List 集合可以用来存储大量数据。通过使用 Random 类可以生成随机整数,然后将其添加到 List 集合中。使用 contains ...

    JAVA集合(List,Set,Map)

     (1) 单元素添加、删除操作: boolean add(Object o):将对象添加给集合 boolean remove(Object o): 如果集合中有与o相匹配的对象,则删除对象o (2) 查询操作: int size() :返回当前集合中元素的数量 boolean...

    Java中ArrayList去除重复元素(包括字符串和自定义对象)

    本文主要介绍了Java中ArrayList去除重复元素(包括字符串和自定义对象)的方法。具有很好的参考价值。下面跟着小编一起来看下吧

    Java中对List去重 Stream去重的解决方法

    主要介绍了Java中对List去重, Stream去重的问题解答,文中给大家介绍了Java中List集合去除重复数据的方法,需要的朋友可以参考下

    List,Set练习题(no TreeSet).docx

    我们可以使用Random类创建随机数对象,并使用HashSet集合来存储这些随机数,因为HashSet集合具有自动去除重复元素的功能。 在解决这个问题时,我们需要考虑以下几点: * 随机数的生成:我们可以使用Random类的...

    40道java集合面试题含答案(很全很详细)

    List接口是有序的集合,可以包含重复的元素。List接口提供了按照索引位置访问元素的方法,以及添加、删除和修改元素的操作。List接口的实现类包括ArrayList、LinkedList等。 Set接口是无序的集合,元素不能重复。...

    Java集合框架.pdf

    Java集合框架概述 Java集合框架是一个抽象数据类型的框架,它提供了一组接口和类,可用于处理各种...2、List接口 List接口是有序集合,可以存储重复元素。它定义了有序的列表,可以根据索引位置访问列表中的元素。List

    collecter集合总结

    * 有顺序的集合(List):有顺序的集合可以存储重复的元素,元素的顺序是固定的。常用的有顺序集合有 ArrayList、LinkedList 和 Vector。 * 无顺序的集合(Set):无顺序的集合不能存储重复的元素,元素的顺序是随机...

    Collection,List,Set和_Map用法和区别

    Collection 是 Java 中的一种对象集合,提供了许多有用的方法来操作集合元素,例如添加、删除、遍历等。Collection 是一个接口,下面有两个子接口:List 和 Set。 List 是一种有序的集合,元素可以重复,通过索引来...

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并 Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    利用python中集合的唯一性实现去重

    集合内的数据对象都是唯一的(不能重复)  3.集合是无序的存储结构,集合内的数据没有先后关系  4.集合是可迭代对象  5.集合相当于是只有键没有值得字典(键就是集合中的数据)  6.集合内的元素是不可变的 好了,集合...

    如何实现java8 list按照元素的某个字段去重

    主要介绍了如何实现java8 list按照元素的某个字段去重,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     8.3.3 被删除对象的特征  8.3.4 游离对象的特征  8.4 Session接口的详细用法  8.4.1 Session的save()和persist()方法  8.4.2 Session的load()和get()方法  8.4.3 Session的update()方法  8.4.4 Session的...

    python把转列表为集合的方法

    set()函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 set 语法: class set([iterable]) 参数说明: iterable — 可迭代对象对象; 返回值: 返回新的集合对象。 将...

    Dbutils项目实例

    StringTrimmedResultSet :去除ResultSet中中字段的左右空格 Trim "&gt;1 对于数据表的读操作 他可以把结果转换成List Array Set等java集合 便于程序员操作; 2 对于数据表的写操作 也变得很简单(只需写sql语句) 3 ...

Global site tag (gtag.js) - Google Analytics