再美不及姑娘你
又见西风上碧树

一、需求:创建一个HashMap集合,键是学号(String),值是学生对象(Student),存储三个键值对元素,并遍历

分析:

1.定义学生类

2.创建HashMap集合对象

3.创建学生对象

4把学生添加到集合中

5.遍历集合

public class StudentDemo {
  public static void main(String[] args) {
      //创建Map集合对象
      Map<String,Student> m=new HashMap<String,Student>();
      //添加键值对
      m.put("01",new Student("张三"));
      m.put("04",new Student("赵六"));
      m.put("02",new Student("李四"));
      m.put("03",new Student("王五"));
      //遍历集合
      Set<Map.Entry<String,Student>> s= m.entrySet();
      //遍历
      for (Map.Entry<String,Student> ss:s){
          //根据键值对对象获取值和key
          String key=ss.getKey();
          Student value=ss.getValue();
          System.out.println(key+","+value.getName());
      }
      System.out.println("------------------------");
      //方式二,通过键找值
      Set<String> m1=m.keySet();
      for (String key :m1){
            Student student =m.get(key);
          System.out.println(key+","+student.getName());
      }
  }
}

二、需求:创建一个HashMap集合,键是学生对象(Student),值是地址(String),存储三个键值对元素,并遍历分析:

1.定义学生类

2.创建HashMap集合对象

3.创建学生对象,并把学生对象当作键值添加到集合

4把地址字符串添加到集合中

5.为了保证数据的唯一性,需要在学生类中重写hashCode及equals方法

6.遍历集合

public class StudentDemo {
  public static void main(String[] args) {
      //创建集合对象
      Map<Student,String> m=new HashMap<Student,String>();
      //添加键值对
      m.put(new Student("张三",18),"上海");
      m.put(new Student("李四",19),"北京");
      m.put(new Student("王五",20),"上海");
      m.put(new Student("王五",20),"海南");
      //方式一
      //获取所有键值对的集合
      Set<Map.Entry<Student,String>> s=m.entrySet();
      //方式一、遍历
      for (Map.Entry<Student,String> mm:s){
          //通过键值对获取对应的值与键
          Student key=mm.getKey();
          String value=mm.getValue();
          System.out.println(key.getName()+","+key.getAge()+value);
      }
      System.out.println("---------------------------------");
      //方式二
      Set<Student> key=m.keySet();
      for (Student s1:key){
          String value=m.get(s1);
          System.out.println(s1.getName()+","+s1.getAge()+","+value);
      }
  }
}

 

posted on 2022-03-30 19:38  再美不及姑娘你  阅读(519)  评论(0)    收藏  举报