HashSet、TreeSet 去除Class重复的元素

Set下的HashSet和TreeSet

Set集合是无序不可重复的,但在Set里面添加Class时,Class里面的元素是可以重复的,下面就介绍下怎么去除重复元素的方法。

1.HashSet 在添加Class时,要在这个Class中实现hashCode()和equals(Object ob)方法
通过hashCode()方法可以实现HashSet的排序
@Override
public int hashCode() {
return 1;
}
//返回一个数字就可以实现排序了
通过equals(Object ob)方法可以实现添加 Class中的元素无重复,不过必须先实现hashCode()方法
@Override
public boolean equals(Object ob) {
if(ob instanceof Hash_Class){
Hash_Class has = (Hash_Class) ob;
if(this.ab.equals(has.ab)){
return true;//如果重复就返回true
}
}
return false;
}
2.TreeSet在添加Class时,这个Class必须实现Comparable接口,并实现接口中的compareTo(Student_Class student)方法:
public class Student_Class implements Comparable<Student_Class>{
@Override
public int compareTo(Student_Class student) {
if(this.getName().equals(student.getName())){
return 0;//return 0说明我们要比较的值相等
}
return -1;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值