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