HashSet和LinkedHashSet去重

本文介绍了Java中使用HashSet和LinkedHashSet进行数据去重的方法。TreeSet去重依赖于实现Comparable或Comparator接口,而HashSet和LinkedHashSet则通过不同的内部机制实现元素的唯一性。
摘要由CSDN通过智能技术生成

TreeSet去重只需要对集合中的对象实现comparable或comparator接口中的方法,重写方法compareTo()或compare()方法

HashSet和LinkedHashSet去重

public class Demo3 {
    public static void main(String[] args) { 
        HashSet<String> set = new HashSet<>(); 
        //说明Set本身的add方法内部实现的去重功能,默认调用的是元素的hashCode和 equals方法
        //String类已经默认重写了hashCode和equals方法 
        set.add("java"); 
        set.add("php"); 
        set.add("bigdata"); 
        set.add("html"); 
        set.add("java"); 
        System.out.println(set); 
        //自己制定的比较规则:并按照年龄和姓名比较,相同则认为是同一个人 
        HashSet<Person> set1 = new HashSet<>(); 
        set1.add(new Person("bing",20)); 
        set1.add(new Person("bing1",210)); 
        set1.add(new Person("chenbing",120)); 
        set1.add(new Person("wangbing",207)); 
        set1.add(new Person("bing",20)); 
        System.out.println
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值