java HashSet 练习
来源:互联网 发布:淘宝机车头盔 编辑:程序博客网 时间:2024/05/17 23:44
HashSet练习
import java.util.*;
/*
往hashSet集合中存入自定对象
姓名和年龄相同为同一个人,重复元素。
*/
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 int getAge()
{
return age;
}
public int hashCode()//因为HashSet里的元素是按哈希表存储的里面的,哈希值不同则直接存进去,相同的话则
{ //还要判断equals,不重写的话则是用的是obj中的HashCode方法也就会出现下面1.2的问题了
System.out.println(this.name+this.name.hashCode());
return name.hashCode()+age;
}
public boolean equals(Object obj)
{
//sop(this.name+"....."+p.name);
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;
}
}
class HashSetTest
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
HashSet hs = new HashSet();
hs.add(new Person("java01",11));
hs.add(new Person("java02",12));
hs.add(new Person("java03",13));
hs.add(new Person("java04",14));//1.如果不判断hashCodeh和equals,那么1和2因为都是new出来的元素,
hs.add(new Person("java04",14));//2.所以它们是两个不同的的对象哈希值不同,所以都等存进去
Iterator it = hs.iterator();
while(it.hasNext())
{
Person p = (Person)it.next();
sop(p.getName()+"...."+p.getAge());
}
}
}
- java HashSet 练习
- Java HashSet练习
- Java中HashMap和HashSet的使用练习
- java基础集合之HashSet练习(带答案)
- HashSet和LinkedHashSet练习
- 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
- ios 下创建、删除文件夹的方法
- Unity3D控制gameobject脚本执行的顺序
- JAVA中枚举值,提供getName函数,获取中文含义
- 工厂模式
- MySQL 中取子串函数 SUBSTR(SUBSTRING)
- java HashSet 练习
- sysstat 10.1.3 发布,Linux 系统监控工具包
- 一可视化的数据结构和算法学习网站
- ubuntu 13.04 安装jdk
- 响应式Web设计(四):响应式Web设计的优化
- IOS 删除文件夹下所有文件
- PHP是什么—— 为什么要关注它
- CSS3 Border-image
- 在cocos2d-x2.0上用shader实现灰度图