> 文档中心 > 案例:HashMap集合存储学生对象并遍历

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


案例: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