服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java案例之HashMap集合存储学生对象并遍历

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

2022-10-31 11:05再美不及姑娘你 Java教程

这篇文章主要介绍了Java案例之HashMap集合存储学生对象并遍历,创建一个HashMap集合,键是学号(String),值是学生对象(Student),存储三个键值对元素并遍历,下文具体操作需要的朋友可以参考一下

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

分析:

  • 1.定义学生类
  • 2.创建HashMap集合对象
  • 3.创建学生对象
  • 4把学生添加到集合中
  • 5.遍历集合
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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.遍历集合
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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存储对象并遍历内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/CYan521/p/16078723.html

延伸 · 阅读

精彩推荐
  • Java教程java中计算集合的交差并集示例代码

    java中计算集合的交差并集示例代码

    今天突然想Java如何计算集合的交差并集,主要是看Python语言的时候想起来的。下面这篇文章主要给大家介绍了关于java中计算集合的交差并集的相关资料,...

    xixicat4622020-12-21
  • Java教程java实现纸牌游戏之小猫钓鱼算法

    java实现纸牌游戏之小猫钓鱼算法

    这篇文章主要为大家详细介绍了java实现纸牌游戏之小猫钓鱼算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    蝴蝶Maple5182021-07-02
  • Java教程SpringBoot自定义starter实例代码

    SpringBoot自定义starter实例代码

    这篇文章主要给大家介绍了关于SpringBoot自定义starter的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用SpringBoot具有一定的参考学习价...

    幻楚8812021-07-20
  • Java教程java中文乱码之解决URL中文乱码问题的方法

    java中文乱码之解决URL中文乱码问题的方法

    这篇文章主要为大家分享了介绍了java中文乱码之解决URL中文乱码问题的方法,感兴趣的小伙伴们可以参考一下 ...

    java教程网5792020-05-15
  • Java教程Java扩展库RxJava的基本结构与适用场景小结

    Java扩展库RxJava的基本结构与适用场景小结

    RxJava(GitHub: https://github.com/ReactiveX/RxJava)能够帮助Java进行异步与事务驱动的程序编写,这里我们来作一个Java扩展库RxJava的基本结构与适用场景小结,刚接触...

    hi大头鬼hi3642020-05-18
  • Java教程Java多线程ForkJoinPool实例详解

    Java多线程ForkJoinPool实例详解

    这篇文章主要介绍了Java多线程ForkJoinPool实例详解,涉及forkjoin框架的相关内容,需要的朋友可以参考下。...

    tianshi_kco3952021-01-11
  • Java教程java中的内部类详细总结

    java中的内部类详细总结

    内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类。如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相当于其中的某个...

    java开发网3842019-10-17
  • Java教程java设计模式责任链模式原理案例详解

    java设计模式责任链模式原理案例详解

    一个事件需要经过多个对象处理是一个挺常见的场景,譬如采购审批流程,请假流程,软件开发中的异常处理流程,web请求处理流程等各种各样的流程,可...

    大忽悠爱忽悠10892022-01-04