A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fmi110 高级黑马   /  2015-9-5 20:32  /  303 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

a
  1. /**
  2. * HashMap<student,String>
  3. *         当键的成员变量一致时,认为是同一对象
  4. */
  5. package fmi1;

  6. import java.util.HashMap;
  7. import java.util.Map.Entry;
  8. import java.util.Set;


  9. public class HashMapDemo2 {

  10.         public static void main(String[] args) {
  11.                 //建立集合
  12.                 HashMap<Student,String> hm = new HashMap<Student,String>();
  13.                 //添加元素
  14.                 hm.put(new Student("Lily",18),"成都");
  15.                 hm.put(new Student("Lily",18),"重庆");
  16.                 hm.put(new Student("Luly",19),"成都");
  17.                 hm.put(new Student("Leida",15),"北京");
  18.                 hm.put(new Student("Li",18),"上海");
  19.                 //遍历集合
  20.                 Set<Student> set = hm.keySet();
  21.                 for(Student s:set)
  22.                         System.out.println(s.getName()+"..."+s.getAge()+"..."+hm.get(s));
  23.                 System.out.println("-------------------------------- ");
  24.                 Set<Entry<Student,String>> st = hm.entrySet();//全部键值对
  25.                 for(Entry<Student,String> s:st){
  26.                         System.out.println(s.getKey().getName()+"..."+s.getKey().getAge()+".."+s.getValue());
  27.                 }
  28.         }
  29. }
  30. package fmi1;

  31. public class Student {
  32.         private String name;
  33.         private int age;
  34.         public Student(String name, int age) {
  35.                 super();
  36.                 this.name = name;
  37.                 this.age = age;
  38.         }
  39.         public String getName() {
  40.                 return name;
  41.         }
  42.         public void setName(String name) {
  43.                 this.name = name;
  44.         }
  45.         public int getAge() {
  46.                 return age;
  47.         }
  48.         public void setAge(int age) {
  49.                 this.age = age;
  50.         }
  51.         @Override
  52.         public int hashCode() {
  53.                 final int prime = 31;
  54.                 int result = 1;
  55.                 result = prime * result + age;
  56.                 result = prime * result + ((name == null) ? 0 : name.hashCode());
  57.                 return result;
  58.         }
  59.         @Override
  60.         public boolean equals(Object obj) {
  61.                 if (this == obj)
  62.                         return true;
  63.                 if (obj == null)
  64.                         return false;
  65.                 if (getClass() != obj.getClass())
  66.                         return false;
  67.                 Student other = (Student) obj;
  68.                 if (age != other.age)
  69.                         return false;
  70.                 if (name == null) {
  71.                         if (other.name != null)
  72.                                 return false;
  73.                 } else if (!name.equals(other.name))
  74.                         return false;
  75.                 return true;
  76.         }
  77.        
  78. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马