hashset是如何保持元素的唯一性呢?
来源:互联网 发布:mysql udf提权 编辑:程序博客网 时间:2024/04/28 04:23
hashset是如何保持元素的唯一性呢?
package com.Set;import java.util.HashSet;import java.util.Iterator;/** * hashset是如何保持元素的唯一性呢? * 是通过元素的hashcode和equals来表示: * 如果hashCode值一样,则比较equals是否为true * 如果hashCode值不一样,不用比较equals *//** * 往hashset集合中存入自定义对象 * 姓名和年龄相同为同一个人,重复对象 * @author 小明 * */class Person{private String name;private int age;Person(String name,int age){this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic boolean equals(Object obj) {if(!(obj instanceof Person)){return false;}Person p = (Person) obj;System.out.println(this.name+"-equals--"+p.name);return this.name.equals(p.name) && this.age==p.age;}@Overridepublic int hashCode() {System.out.println(this.name+"...hashcode...");//return 60;return name.hashCode()+age;}}public class HashSetTest {public static void main(String[] args) {HashSet<Person> hs = new HashSet<Person>();hs.add(new Person("a1", 20));hs.add(new Person("a2", 30));hs.add(new Person("a3", 40));hs.add(new Person("a3", 40));Iterator<Person> iterator = hs.iterator();while(iterator.hasNext()){Person p = iterator.next();System.out.println(p.getName()+" "+p.getAge());}}}
0 0
- hashset是如何保持元素的唯一性呢?
- HashSet集合是如何做到存储元素唯一,没有重复元素的呢?
- HashSet集合是如何保证元素的唯一性的?
- HashSet集合是如何保证元素的唯一性的?
- 关于HashSet集合是如何保证元素唯一性的
- HashSet如何保证元素的唯一性
- HashSet如何保证元素的唯一性-跟踪源码解析
- 黑马程序员_009_TreeSet的两种排序方式和HashSet保持元素唯一性的方式
- HashSet如何保证元素唯一性?
- HashSet保证元素唯一性的原理
- HashSet保证元素唯一性
- Java中HashSet集合如何控制 元素唯一性 总结
- 黑马程序员——HashSet如何判断一个元素的唯一性
- 【jQuery】使用jQuery的clone()方法来克隆元素时,如何保持id的唯一性
- 分析HashSet,HashMap源码,如何保证HashSet集合元素唯一性。
- java--基础----HashSet保证元素的唯一性
- 集合框架-HashSet存储元素保证唯一性的图解
- HashSet存储元素保证唯一性的代码及图解
- 宏定义
- CCDictionary 应用
- WebKit之架构模型
- 《leetCode》:Insert Interval
- Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosin
- hashset是如何保持元素的唯一性呢?
- JSON解析 GSON解析
- LintCode-剑指Offer-(371)用递归打印数字
- 2015北京reginal总结
- HDU 5569 matrix
- Json字符串与java对象互转
- 堆排序
- C语言-----线性单链表
- centos6.5下安装mysql