您的位置:首页 > 移动开发 > Android开发

HashSet、TreeSet 去除Class重复的元素

2016-07-19 11:45 405 查看

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java android