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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法