1. import java.util.IdentityHashMap ;
  2. import java.util.HashMap ;
  3. import java.util.Set ;
  4. import java.util.Iterator ;
  5. import java.util.Map ;
  6. class Person{
  7. private String name ;
  8. private int age ;
  9. public Person(String name,int age){
  10. this.name = name ;
  11. this.age = age ;
  12. }
  13. public boolean equals(Object obj){
  14. if(this==obj){
  15. return true ;
  16. }
  17. if(!(obj instanceof Person)){
  18. return false ;
  19. }
  20. Person p = (Person)obj ;
  21. if(this.name.equals(p.name)&&this.age==p.age){
  22. return true ;
  23. }else{
  24. return false ;
  25. }
  26. }
  27. public int hashCode(){
  28. return this.name.hashCode() * this.age ;
  29. }
  30. public String toString(){
  31. return "姓名:" + this.name + ",年龄:" + this.age ;
  32. }
  33. };
  34. public class IdentityHashMapDemo01{
  35. public static void main(String args[]){
  36. Map<Person,String> map = null ; // 声明Map对象
  37. map = new HashMap<Person,String>() ;
  38. map.put(new Person("张三",30),"zhangsan_1") ; // 加入内容
  39. map.put(new Person("张三",30),"zhangsan_2") ; // 加入内容
  40. map.put(new Person("李四",31),"lisi") ; // 加入内容
  41. Set<Map.Entry<Person,String>> allSet = null ; // 准备使用Set接收全部内容
  42. allSet = map.entrySet() ;
  43. Iterator<Map.Entry<Person,String>> iter = null ;
  44. iter = allSet.iterator() ;
  45. while(iter.hasNext()){
  46. Map.Entry<Person,String> me = iter.next() ;
  47. System.out.println(me.getKey() + " --> " + me.getValue()) ;
  48. }
  49. }
  50. };
  1. import java.util.IdentityHashMap ;
  2. import java.util.Set ;
  3. import java.util.Iterator ;
  4. import java.util.Map ;
  5. class Person{
  6. private String name ;
  7. private int age ;
  8. public Person(String name,int age){
  9. this.name = name ;
  10. this.age = age ;
  11. }
  12. public boolean equals(Object obj){
  13. if(this==obj){
  14. return true ;
  15. }
  16. if(!(obj instanceof Person)){
  17. return false ;
  18. }
  19. Person p = (Person)obj ;
  20. if(this.name.equals(p.name)&&this.age==p.age){
  21. return true ;
  22. }else{
  23. return false ;
  24. }
  25. }
  26. public int hashCode(){
  27. return this.name.hashCode() * this.age ;
  28. }
  29. public String toString(){
  30. return "姓名:" + this.name + ",年龄:" + this.age ;
  31. }
  32. };
  33. public class IdentityHashMapDemo02{
  34. public static void main(String args[]){
  35. Map<Person,String> map = null ; // 声明Map对象
  36. map = new IdentityHashMap<Person,String>() ;
  37. map.put(new Person("张三",30),"zhangsan_1") ; // 加入内容
  38. map.put(new Person("张三",30),"zhangsan_2") ; // 加入内容
  39. map.put(new Person("李四",31),"lisi") ; // 加入内容
  40. Set<Map.Entry<Person,String>> allSet = null ; // 准备使用Set接收全部内容
  41. allSet = map.entrySet() ;
  42. Iterator<Map.Entry<Person,String>> iter = null ;
  43. iter = allSet.iterator() ;
  44. while(iter.hasNext()){
  45. Map.Entry<Person,String> me = iter.next() ;
  46. System.out.println(me.getKey() + " --> " + me.getValue()) ;
  47. }
  48. }
  49. };

吴裕雄--天生自然java开发常用类库学习笔记:IdentityHashMap类的更多相关文章

  1. 吴裕雄--天生自然java开发常用类库学习笔记:定时调度

    // 完成具体的任务操作 import java.util.TimerTask ; import java.util.Date ; import java.text.SimpleDateFormat ...

  2. 吴裕雄--天生自然java开发常用类库学习笔记:正则表达式

    public class RegexDemo01{ public static void main(String args[]){ String str = "1234567890" ...

  3. 吴裕雄--天生自然java开发常用类库学习笔记:观察者设计模式

    import java.util.* ; class House extends Observable{ // 表示房子可以被观察 private float price ;// 价钱 public ...

  4. 吴裕雄--天生自然java开发常用类库学习笔记:比较器

    class Student implements Comparable<Student> { // 指定类型为Student private String name ; private i ...

  5. 吴裕雄--天生自然java开发常用类库学习笔记:Arrays

    import java.util.* ; public class ArraysDemo{ public static void main(String arg[]){ int temp[] = {3 ...

  6. 吴裕雄--天生自然java开发常用类库学习笔记:大数操作

    import java.math.* ; class MyMath{ public static double add(double d1,double d2){ // 进行加法计算 BigDecim ...

  7. 吴裕雄--天生自然java开发常用类库学习笔记:NumberFormat

    import java.text.* ; public class NumberFormatDemo01{ public static void main(String args[]){ Number ...

  8. 吴裕雄--天生自然java开发常用类库学习笔记:Math与Random类

    public class MathDemo01{ public static void main(String args[]){ // Math类中的方法都是静态方法,直接使用“类.方法名称()”的形 ...

  9. 吴裕雄--天生自然java开发常用类库学习笔记:取得当前日期

    import java.util.* ; // 导入需要的工具包 class DateTime{ // 以后直接通过此类就可以取得日期时间 private Calendar calendar = nu ...

  10. 吴裕雄--天生自然java开发常用类库学习笔记:日期操作类DataFormat、SimpleDataFormat

    import java.text.DateFormat ; import java.util.Date ; public class DateDemo03{ public static void ma ...

随机推荐

  1. CSS概述(最详细!!!)

    一.先综述 二.分述: 1.简介: 2.基本用法 3.引入方式: 4.盒模型         5.选择器:   6.常见文本样式及复合样式       7.改变行.块元素的属性: 8.标签显示与隐藏: ...

  2. 快速幂 & 矩阵快速幂

    目录 快速幂 实数快速幂 矩阵快速幂 快速幂 实数快速幂 普通求幂的方法为 O(n) .在一些要求比较严格的题目上很有可能会超时.所以下面来介绍一下快速幂. 快速幂的思想其实是将数分解,即a^b可以分 ...

  3. [USACO 08MAR]土地购买

    Description 题库链接 给你 \(n\) 块不同大小的土地.你可分批购买这些土地,每一批价格为这一批中最大的长乘最大的宽.问你买下所有土地的花费最小为多少. \(1\leq n\leq 50 ...

  4. spark aggregateByKey 时 java.lang.OutOfMemoryError: GC overhead limit exceeded

    最后发现有一个用户单日访问我们网站次数为 4千万,直接导致 aggregate 时内存不够.过滤掉该用户即可.

  5. spring boot中扩展spring mvc 源码分析

    首先,确认你是对spring boot的自动配置相关机制是有了解的,如果不了解请看我spring boot相关的源码分析. 通常的使用方法是继承自org.springframework.boot.au ...

  6. SQL注入之SQLmap

    注意:sqlmap只是用来检测和利用sql注入点的,并不能扫描出网站有哪些漏洞,使用前请先使用扫描工具扫出sql注入点. 1.

  7. redis队列与RabbitMQ队列区别

    消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递.消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消 ...

  8. ADV-297 快速排序 java

    问题描述 用递归来实现快速排序(quick sort)算法.快速排序算法的基本思路是:假设要对一个数组a进行排序,且a[0] = x.首先对数组中的元素进行调整,使x放在正确的位置上.同时,所有比x小 ...

  9. 02-01 Android学习进度报告一

    前两天,刚刚安装好有关Android开发有关的软件并配好了环境,有一些体会想要发表. 首先我了解到有一款专门用于Android开发的软件,叫做Android Studio ,是一个IDE集成软件 于是 ...

  10. 一个前端博主的nginx+php+mysql的环境搭建

    这几天天某的公司给了在下一个需求,让我修改一个后端大佬用PHP写的一个官网,虽然说修改的内容还是很简单,但是毕竟之前还是没接触过PHP,于是开始了漫长的爬坑之旅,话不多说,这次就给大家介绍一下我配置安 ...