HashSet (需要重写hashCode和equals方法)
来源:互联网 发布:智慧记mac版下载 编辑:程序博客网 时间:2024/06/09 17:12
一般描述的事物需要往集合中添加,那么都需要重写这两个方法
删除和判断元素是否存在,都是先判断hashCode 看看是否存在,若存在则继续equals();
import java.util.*;class Person{private String name;private int age;Person(String name,int age){this.name=name;this.age=age;}public int hashCode()//重写 {return name.hashCode()+age ;}public boolean equals(Object obj)//重写 Object不能换{ if(!(obj instanceof Person)) return false; Person p=(Person)obj; System.out.println(this.name+"...."+p.name); return this.name.equals(p.name)&&this.age==p.age;}public String getName(){return name;}public int getAge(){return age;}}class HashSetDemo {public static void main(String[] args) {HashSet hs=new HashSet();hs.add(new Person("lisi01",30));hs.add(new Person("lisi02",33));hs.add(new Person("lisi03",35));hs.add(new Person("lisi02",33));hs.add(new Person("lisi01",30));hs.add(new Person("lisi04",32));hs.add(new Person("lisi03",35));Iterator it=hs.iterator();while(it.hasNext()){ Person p=(Person)it.next();; sop(p.getName()+" "+p.getAge());}}public static void sop(Object obj) { System.out.println(obj);}}
0 0
- HashSet (需要重写hashCode和equals方法)
- hashset重写hashcode和Equals
- Java中HashSet要重写equals方法和hashCode方法
- hashset中equals和hashcode方法重写问题
- HashSet存储元素equals() hashCode()方法重写
- 重写equals方法和hashcode(集合需要重写)
- HashMap什么时候重写hashcode和equals方法,为什么需要重写
- HashSet如何重写了hashcode()和equals()
- HashSet以及重写equals()和hashCode()
- 为什么equals()方法和hashCode()方法需要同时重写?
- 重写hashCode和equals方法
- 重写equals和hashCode方法
- 重写hashCode和equals方法
- 重写hashcode和equals方法
- 重写equals() 和 hashCode()方法
- 重写hashCode()和equals()方法
- 重写equals和hashcode方法
- HashCode和equals方法重写
- Android画廊效果-Gallery和ViewPager不同实现
- on和where的区别
- sdut 汉诺塔系列2
- 3670: [Noi2014]动物园
- ffmpeg 源码分析
- HashSet (需要重写hashCode和equals方法)
- odroid 镜像下载点
- 对Android Context的理解
- 小谈移动端自适应
- hadoop namenode的工作机制 (checkpoint过程、元数据合并一个意思)
- 1471. 风水 解题报告
- 惯用svn的Git小白,如何避免代码覆盖的事故
- JUnit4中@AfterClass @BeforeClass @after @before的区别对比
- VS2010调试dump文件