Java案例之HashMap集合存储学生对象并遍历

 更新时间:2022年04月01日 10:14:51   作者:再美不及姑娘你  
这篇文章主要介绍了Java案例之HashMap集合存储学生对象并遍历,创建一个HashMap集合,键是学号(String),值是学生对象(Student),存储三个键值对元素并遍历,下文具体操作需要的朋友可以参考一下

一、需求:创建一个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);
        }
    }
}

到此这篇关于Java案例之HashMap集合存储学生对象并遍历的文章就介绍到这了,更多相关HashMap存储对象并遍历内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 手把手教你如何用JAVA连接MYSQL(mysql-connector-j-8.0.32.jar)

    手把手教你如何用JAVA连接MYSQL(mysql-connector-j-8.0.32.jar)

    这篇文章主要介绍了关于如何用JAVA连接MYSQL(mysql-connector-j-8.0.32.jar)的相关资料,文中通过图文介绍的非常详细,对大家学习或者使用MySQL具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-01-01
  • 关于idea更新到2020.2.3无法创建web项目原因 library is not specified

    关于idea更新到2020.2.3无法创建web项目原因 library is not specified

    这篇文章主要介绍了关于idea更新到2020.2.3无法创建web项目原因 library is not specified,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 解决idea爆红 cant resolve symbol String的问题解析

    解决idea爆红 cant resolve symbol String的问题解析

    连着出差几个礼拜没有使用idea开发工具,突然一天打开电脑发现idea里的代码全部爆红,懵逼不如所措,很多朋友建议我按住Alt+回车设置jdk就能解决,但是仍然报错,经过几个小时的倒腾最终解决,遇到此问题的朋友参考下本文吧
    2021-06-06
  • java http请求设置代理Proxy的两种常见方法

    java http请求设置代理Proxy的两种常见方法

    代理是一种常见的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问,这篇文章主要给大家介绍了关于java http请求设置代理Proxy的两种常见方法,需要的朋友可以参考下
    2023-11-11
  • Java如何搭建一个个人网盘

    Java如何搭建一个个人网盘

    这篇文章主要介绍了Java如何搭建一个个人网盘,对网盘感兴趣的读者,可以参考一下
    2021-04-04
  • Java版本和C++版本的二叉树序列化与反序列化

    Java版本和C++版本的二叉树序列化与反序列化

    这篇文章主要介绍了Java版本和C++版本的二叉树序列化与反序列化,二叉树就是节点在内存区域中串联起来的,但是如果掉电,内存上的数据就没有了。为了保存这种结构,将二叉树用字符串的形式保存到硬盘中,这就是序列化;从字符串形式转换为二叉树,这就是反序列化
    2022-06-06
  • Java经典面试题之NIO多路复用

    Java经典面试题之NIO多路复用

    JAVA NIO 的多路复用是面试中经常被问的问题,今天我们彻底搞明白究竟是怎么回事,文中的示例代码讲解详细,希望对大家学习Java有所帮助
    2023-06-06
  • 一文带你看懂Java8中的lambda表达式和方法引用

    一文带你看懂Java8中的lambda表达式和方法引用

    Lambda 表达式是 Java 8 引入的一项重要特性,它提供了一种简洁、清晰且灵活的语法来表示可传递的匿名函数,下面就跟随小编一起学习一下Java8中的lambda表达式和方法引用的相关知识吧
    2023-12-12
  • java实现短信通信的完整教程

    java实现短信通信的完整教程

    这篇文章主要为大家详细介绍了java实现短信通信的完整教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • MyBatis多表查询和注解开发案例详解

    MyBatis多表查询和注解开发案例详解

    这篇文章主要介绍了MyBatis多表查询和注解开发,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05

最新评论