首页 > 编程知识 正文

javamap集合详解,map迭代器遍历

时间:2023-05-04 01:45:03 阅读:32651 作者:4021

Java中Map集合的五种迭代方式1 .首先准备Student类,以Student对象为键,他们所在的地址为值package com.lagou.tas k04.homework; /** * @author云梦归遥* @ date 2021/11/249336044 * @ description */* * *分析以下需求并通过代码实现: * () (1)定义学生班级Student。 包含属性:“名称”(String name )、“年龄”(int age ) (2)定义Map集合,“Student”对象为key,“字符串”表示学生地址) (value ) ) (3)通过四种方法创建Map 公共student (}公共student (字符串名称,int age ) ) { this.name=name; this.age=age; } public String getName (() { return name; }公共语音集名称(字符串名称) { this.name=name; } public int getAge () { return age; }公共语音设置(intage ) { this.age=age; } @Override public String toString () return'student ) ' ' name=''name'' ',age=' age '}; }2.然后在测试类中准备一个Map集合,并包含几个元素package com.lagou.tas k04.homework; import java.util.*; /** * @author云梦归遥* @ date 2021/11/249336045 * @ description */publicclassstudenttest { publicstaticvoidmain (stion ) map.put(newstudent('bob ',21 )、' NewYork ' ); map.put(newstudent(John ),22 )、ShangHai ); map.put(newstudent('jack ',23 )、' London ' ); }3.以下是当前情况下Map集合的五种迭代方法之一: 我们知道Map集合是键-值对类型的集合。 可以检索Map集合中的所有键,以配置Set集合并获取相应的值。 迭代方法使用最简单的扩展for循环system.out.println(====)//1.遍历第一个方法集合中的元素(密钥-值对方法) set student students=map.kkip for(students3360students ) system.out.println (s ' : ' map.get ) ); }//Student{name='Bob ',age=21 } : new York//student { name=' John ', age=22 } : Shanghai//student age=23 } : London第二类:将刚才的Set集合转换为迭代器对象, 使用迭代程序迭代方法迭代system.out.println ('=========================) while(iterator.hasnext () ) { Student student=iterator.next; system.out.println (student ' : ' map.get ) student ); }//Student{name='Bob ',age=21 } : new York//student { name=' John ', age=22 } : Shanghai//student age=23 } : London第三类:检索Map集合中的所有密钥组成一个Set的密钥集合,检索所有值组成一个集合。 这样不仅可以使用简单的for环路导线测量,还可以使用扩展的for环路导线测量。 此时,可能有人想问,直接转换为数组是否不怕元素混乱? 因为使用HashMap的实现类LinkedhashMap创建了一个Map集合,所以他在自己的内部维护了一个双向链表,以便可以记录和重复元素的插入顺序。 system.out.println ('========================() ) ) object [ ] objects=students.to array (; object [ ] objects1=values.to array (; for(intI=0; i objects.length; I ) system.out.println (objects [ I ] ' : ' objects1[ I ]; }//Student{name='Bob ',age=21 } : new York//student { name=' John ',age=22 } : Shanghai////student 然后,将他转换为Set集合,并使用扩展for循环将system.out.println ('==================) 遍历集合中的元素(获取Map集合的键值和entrySet;扩展for循环) ) SetMap.EntryStudent,String entrySet=map.entrySet; for(map.entrystudent,String entries: entrySet ) system.out.println (entries.getkey () : ' entries.g entrieries ) }//Student{name='Bob ',age=21 } : new York//student { name=' John ', age=22 } : Shanghai//student system.out.println ('=============) 第五种方法遍历集合中的元素(获取Map集合的键值和entrySet )迭代器) IteratorMap.EntryStudent,string iterator2=entryset.iterryset while(iterator2.Hasnext () ) system.out.println (iterator2. next ) ); }//Student{name='Bob ',age=21 } : new York//student { name=' John ',age=22 } : Shanghai////student

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。