案例:HashMap集合存储学生对象并遍历
-
需求:创建一个HashMap集合,键是学号(String),值是学生对象(Student),存储3个键值对元素,并遍历
-
思路:
定义学生类
创建Map集合
创建学生对象
把学生对象添加到集合中
遍历集合:
方式1:键找值
方式2:键值对对象找键和值
以代码的内容形式展开
Student类
package Demo;
import java.util.Objects;
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Demo类
package Demo;
import java.util.*;
public class Demo {
public static void main(String[] args) {
//创建Map集合
Map<String,Student> s=new HashMap<>();
//创建学生对象
Student s1 = new Student("沸羊羊",28 );
Student s2 = new Student("美羊羊",29 );
Student s3 = new Student("懒洋洋",27 );
Student s4 = new Student("懒洋洋",27 );
//添加学生对象
s.put("001s",s1);
s.put("002s",s2);
s.put("003s",s3);
s.put("004s",s4);
//遍历1 根据键找值
Set<String> st = s.keySet();
for (String x:st) {
Student student = s.get(x);
System.out.println(student.getName()+","+student.getAge());
}
System.out.println("==========================");
//遍历2 根据键值对找键和值
Set<Map.Entry<String,Student>> e = s.entrySet();
for (Map.Entry<String,Student> c:e) {
String key = c.getKey();
Student value = c.getValue();
System.out.println(key+","+value.getName()+","+value.getAge());
}
}
}
输出的内容:
沸羊羊,28
懒洋洋,27
美羊羊,29
懒洋洋,27
==========================
001s,沸羊羊,28
003s,懒洋洋,27
002s,美羊羊,29
004s,懒洋洋,27