java HashSet
来源:互联网 发布:ubuntu route设置 编辑:程序博客网 时间:2024/05/29 13:25
HashSet
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Person {
int id;
//int age;
String name;
public Person(int id, String name) { super(); this.id = id; this.name = name;}
@Override
public String toString() {
return “Person [id=” + id + “, name=” + name + “]”;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + id;
return result;
}
@Overridepublic boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Person other = (Person) obj; if (id != other.id) return false; return true;}
public int getId() {
return id;
}
public void setId(int id) { this.id = id;}public String getName() { return name;}public void setName(String name) { this.name = name;}
public static void main(String[] args) {
Set set = new HashSet(); Person p1 = new Person(1,"小明"); Person p2 = new Person(2,"小李"); Person p3 = new Person(3,"小王"); Person p4 = new Person(4,"小张"); set.add(p1); set.add(p2); set.add(p3); set.add(p4); set.add(null); System.out.println("集合长度:"+ set.size()); System.out.println(p1.hashCode()); System.out.println(p2.hashCode()); System.out.println(p3.hashCode()); System.out.println(p4.hashCode()); Iterator it = set.iterator(); while(it.hasNext()){ System.out.println(it.next()); }
}
}
运行结果:
集合长度:5
32
33
34
35
null
Person [id=3, name=小王]
Person [id=4, name=小张]
Person [id=1, name=小明]
Person [id=2, name=小李]
疑问:为什么不是按照id (1 2 3 4 )排序呢?
阅读全文
0 0
- Java HashSet
- Java------HashSet
- JAVA hashSet
- java/HashSet
- Java - HashSet
- Java HashSet
- Java - HashSet
- Java HashSet
- Java HashSet
- java HashSet
- java HashSet的使用
- java中HashSet详解
- Java HashMap and HashSet
- Java HashSet(转javaeye)
- Java HashSet的实现
- java中HashSet详解
- java se HashSet
- java中HashSet实现
- Eclipse配置python插件
- 160
- 笨办法学Python习题11 提问
- 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
- 算法学习-最长公共子序列
- java HashSet
- luence 优化
- inux ‘E297: 交换文件写入错误’解决方法
- Dockerfile参考(9) – LABEL添加元数据到镜像
- Linux修改默认shell
- Spring 5.0 注解配置bean 04
- JAVA多线程常见面试问题解析
- 网络编程_进程间通信_管道
- BAT常见面试问题解析之java多线程「第二弹」