java基础入门-----hashset2
2013-10-01 21:16
369 查看
import java.util.*; //set:元素是无序的,元素不能重复 //hashset:底层数据是哈希表结构 /* * hashset如何保证元素唯一性? * 是通过元素两个方法 hashcode和equal完成的 * 1.先判断hashcode是不是相等 ,如果相等就调用equal判断 * 2.如果hashcode不相等,不调用equal
* 注意:判断元素是否存在或删除元素等操作,都是先调用hascode再调用equal方法 * */ class HashSet2 { public static void sop(Object obj) { System.out.println(obj); } public static void main(String[] args) { HashSet hs = new HashSet(); hs.add(new Person1("aaa",20)); hs.add(new Person1("bbb",21)); hs.add(new Person1("bbb",21)); hs.add(new Person1("ccc",22)); hs.add(new Person1("ddd",23)); Iterator it = hs.iterator(); while(it.hasNext()) { Person1 p = (Person1)it.next(); sop(p.getName()+"..."+p.getAge()); } } } class Person1 { private String name; private int age; Person1(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public int getAge() { return age; } public int hashCode() { System.out.println(this.name+"...hashcode"); return name.hashCode()+age; } public boolean equals(Object obj) //判断是否有相同元素用的contains和除去元素的remove方法都是 //一定要object类型,因为要复写 { // 要调用Object的equals方法 ,用对象就要重写equals方法 if(!(obj instanceof Person1)) //因为Object的equals方法是判断地址是否相同,每个new的对象地址都不同 return false; Person1 p = (Person1)obj; System.out.println(this.name+"..equal.."+p.name); return this.name.equals(p.name) && this.age == p.age; } }
相关文章推荐
- Java Web Start入门基础教程
- Java入门_Java基础知识上
- 【百度文库课程】Java语言基础与OOP入门学习笔记一
- JAVA入门基础--浅谈枚举Enum类型
- java入门基础编-1-常用的dos命令
- java基础入门-----ArrayList练习1
- java基础入门----ArrayList练习2
- java 从零开始,学习笔记之基础入门<jsp>(二十六)
- Java 基础入门随笔(9) JavaSE版——文档注释
- Java Socket网络编程初级入门-Java基础-Java-编程开发
- Java Servelet API入门基础教程-Java基础-Java-编程开发
- Java多线程程序设计入门-Java基础-Java-编程开发
- java程序员菜鸟进阶(十三)linux基础入门(一)vmvare下安装linux RedHat图解(超详细篇)
- Java零基础入门到高级应用-订单生成策略
- java基础入门-建立可以多客户端链接的ServerSocket
- 清华大学计算中心培训部-技术分享:Java基础入门:不定长度参数
- 【Java基础】Java正则表达式入门
- JavaSE入门学习5:Java基础语法之运算符和语句(上)
- 【Java Script 入门之路之基础篇】
- Java基础入门笔记-关系操作符