精品文档---下载后可任意编辑第十三章 2007 年 6 月 17 日 星期日授课老师:学生: 第一节 HashMap 类常见的方法及其用法public class Test {public static void main(String[] args) {//创立 5 个 Bean 的对象 b1-b5 并对它们进行初始化Bean b1=new Bean();b1.setAge(23);b1.setName("Bob");Bean b2=new Bean();b2.setAge(23);b2.setName("Bob");Bean b3=new Bean();Bean b4=new Bean();b4.setAge(30);精品文档---下载后可任意编辑b4.setName("Jack");Bean b5=new Bean();b5.setAge(29);b5.setName("wang");HashMap h=new HashMap();//创立 HashMap 类型对象 h;//并调用 put 方法,将它们取个 key 名〔外号〕,参加到 Map 中h.put("1",b1);h.put("2",b2);h.put("3",b3);h.put("4",b4);h.put("5",b5);h.remove("3");//调用 remove()方法,将 key 值为"3"的元素移除 HashMapSystem.out.println(h.size());//输出 Map 中的元素数Bean temp=(Bean)h.get("5");//将 key 值为"5"的元素取出来,并恢复其 Bean 身份,并其引用返回给 tempSystem.out.println(temp.getAge());System.out.println(temp.getName());//输出 key 值为"5"的属性值}}第二节 equals 方法和 hashCode 方法的重写在处理两个对象之间关系时,有时会需要推断两个对象是否相等,假如他们的引用指向的是同一个对象,那么它们是相等的。如 Object 中的 equals 方法。假如它们指向的是同一类型的不同对象,但是他们的属性值是相等的,也就是说它们的内容是相等的,那么我们就需要重写 equals 方法,例如:String 中的 equals 方法就是 Object 中的 equals 方法的重写。假如我们自己定义一个类,需要将自己写的类型的两个对象 equals。那么我们就需要在该类中重写 Object 中的 equals 方法。重写完 equals 方法后还需要重写 hashCode 方法。因为当我们用 Hash 容器〔如HashMap、HashSet〕装载这些对象时,例如,将一个对象用 add 方法参加 Set 时,会产生一个 HashCode,当我们又创立一个同类型内容相同的对象时,又变成另外一个 HashCode 了,它们在容器中的 HashCode 是随机的生成的,那么你就无法取得该对象了。假如我们要推断容器中是否装进了某种类型的对象,那么就需要重写 hashCode 方法,因为 equals 方法返回 true 的对象,它们的 hashCode 是相同的,重写 hashCode 方...