java 集合HashSet
来源:互联网 发布:苹果手机设置2g网络 编辑:程序博客网 时间:2024/06/09 16:08
附上代码 :
import java.util.HashSet;public class HashSetTest { public static void main(String [] args){ HashSet<Person> people = new HashSet<>(); Person p1 = new Person("aaa","男",18); Person p2 = new Person("bbb","女",18); Person p3 = new Person("ccc","男",19); Person p4 = new Person("aaa","女",19); people.add(p1); people.add(p2); people.add(p3); people.add(p4); for (Person p : people){ System.out.print(p); } //System.out.println(people); } private static class Person{ private String name,sex; private int age; Person(String name,String sex,int age){ this.name = name; this.sex = sex; this.age = age; } @Override public String toString() { return "\n[ "+name+" , "+sex+" , "+age+" ]\n"; } @Override public boolean equals(Object obj) { /** 为同一个对象时 **/ if (obj == this){ return true; } /** 类型相同时 ,进而根据自己的需要进行筛选**/ if (obj instanceof Person){ if (((Person) obj).name.equals(this.name)){ return true; } return false; } return false; } @Override public int hashCode() { return this.name.hashCode(); //根据自己的需要生成Hash散列值 } }}
这里的同一个对象指的是 对象内存地址相同 同一类型指的是 继承或实现的某个共同父类的对象Person p1 = new Person(...);Person p2 = new Person(...);Person p3 = p1;p3 指向 p1的内存块地址 所以他们是同一个对象p1 p2 都是Person对象 有各自的内存地址 所以 p1 p2 为同一类型但是不是同一个对象
都是个人的一些理解 慢慢学习
阅读全文
0 0
- Java 集合框架-HashSet
- java基础--HashSet集合
- java集合(HashSet)
- Java集合之HashSet
- java集合之HashSet
- java中的HashSet集合
- java集合-HashSet
- java集合------HashSet
- java 集合框架-HashSet
- Java集合-HashSet
- 08.Java 集合 - HashSet
- java-基础-集合hashset
- Java集合之HashSet
- 【java集合系列】---HashSet
- Java HashSet 集合
- Java集合之HashSet
- JAVA-集合,HashSet
- Java集合(2)HashSet
- CentOS安装MySQL-5.6.23
- bss,data,text段
- Spring框架搭建
- 环境变量配置(Java、Python、Tomcat、Maven)
- pytorch使用(二)自定义网络
- java 集合HashSet
- 线性分类器定义和局限性
- intent.putExtra()数组 传入数组名称!不含[]
- C++ IOCP2
- 最大子段和
- 设计模式遵循的七大原则
- C语言小游戏入门之三子棋
- 关于Maven项目build时出现No compiler is provided in this environment的处理
- DL学习--GAN