HashMap存储对象并遍历

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

HashMap存储对象并遍历

再美不及姑娘你   2022-05-28 我要评论

一、需求:创建一个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.为了保证数据的唯一性,需要在学生类中重写hashCodeequals方法
  • 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);
        }
    }
}

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们