问题:
实现List和Map数据的转换。具体要求如下:
定义方法public void listToMap( )将List中Student元素封装到Map中
使用构造方法Student(int id,String name,int age,String sex )创建多个学生信息并加入List,遍历Map,输出每个Entry的key和value,将List中数据放入Map,使用Student的id属性作为key,使用Student对象信息作为value,遍历List,输出每个Student信息。
代码:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class DataConversion {
public static void main(String[] args) {
List<Student> studentList = new ArrayList<>();
studentList.add(new Student(1, "Alice", 20, "Female"));
studentList.add(new Student(2, "Bob", 22, "Male"));
studentList.add(new Student(3, "Charlie", 19, "Male"));
// 遍历List,输出每个Student信息
for (Student student : studentList) {
System.out.println(student);
}
// 将List中数据放入Map,使用Student的id属性作为key,使用Student对象信息作为value
Map<Integer, Student> studentMap = new HashMap<>();
for (Student student : studentList) {
studentMap.put(student.getId(), student);
}
// 遍历Map,输出每个Entry的key和value
for (Map.Entry<Integer, Student> entry : studentMap.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
}
}
class Student {
private int id;
private String name;
private int age;
private String sex;
public Student(int id, String name, int age, String sex) {
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getSex() {
return sex;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
'}';
}
}