import java.util.*;
class HashMapDemo2
{
<wbr>public static void main(String[] args)<br><wbr>{<br><wbr><wbr>HashMap<Student,
String> hm = new HashMap<Student,
String>();<br><wbr><wbr><br><wbr><wbr>hm.put(new Student("张三", 20),
"北京");<br><wbr><wbr>hm.put(new Student("李四", 21),
"西安");<br><wbr><wbr>hm.put(new Student("王五", 15),
"重庆");<br><wbr><wbr>hm.put(new Student("赵六", 26),
"成都");<br><wbr><wbr>hm.put(new Student("小七", 12),
"绵阳");<br><wbr><wbr>hm.put(new Student("小七", 12),
"绵阳"); //未覆盖hashCode方法和equals方法时,能够存入相同的元素.<br><wbr><wbr><br><wbr><wbr>Set
<Map.Entry<Student,
String>> s = hm.entrySet();<br><wbr><wbr>for
(Iterator<Map.Entry<Student,
String>> it = s.iterator();
it.hasNext(); )<br><wbr><wbr>{<br><wbr><wbr><wbr>Map.Entry<Student,
String> me = it.next();<br><wbr><wbr><wbr>Student stu =
me.getKey();<br><wbr><wbr><wbr>String addr =
me.getValue();<br><wbr><wbr><wbr>System.out.println(stu.getName()
+ ".." + stu.getAge() + ".." + addr);<br><wbr><wbr>}<wbr><wbr><br><wbr>}<br>
}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
class Student
{
<wbr>private String name;<br><wbr>private int age;<br><wbr>Student(String name, int age)<br><wbr>{<br><wbr><wbr>this.name = name;<br><wbr><wbr>this.age<wbr> =
age;<br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr>public String getName()<br><wbr>{<br><wbr><wbr>return name;<br><wbr>}<br><wbr>public int getAge()<br><wbr>{<br><wbr><wbr>return age;<br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr>public int hashCode()<wbr> //注意,判断HashSet、HashMap集合的唯一性,覆盖hashCode和equals方法,而TreeMap、TreeMap排序实现comparable或comparator接口.<br><wbr>{<br><wbr><wbr>return name.hashCode() + age*29;<br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr>public boolean equals(Object obj)<br><wbr>{<br><wbr><wbr>if (!(obj instanceof Student))<br><wbr><wbr><wbr>return false;<br><wbr><wbr>Student student = (Student)obj;<br><wbr><wbr>return this.name.equals(student.name) && this.age == student.age;<wbr><wbr><br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr>public String toString()<br><wbr>{<br><wbr><wbr>return name + ".." + age;<br><wbr>}<br> }<br></wbr></wbr></wbr></wbr></wbr>