实现List和Map数据的转换。具体要求如下:
功能1:定义方法public void listToMap( ){ }将List中Student元素封装到Map中
1)使用构造方法Student(int id,String name,int age,String sex )创建多个学生信息并加入List
2)遍历List,输出每个Student信息
3)将List中数据放入Map,使用Student的id属性作为key,使用Student对象信息作为value
4)遍历Map,输出每个Entry的key和value
功能2:定义方法public void mapToList( ){ }将Map中Student映射信息封装到List
1)创建实体类StudentEntry,可以存储Map中每个Entry的信息
2)使用构造方法Student(int id,String name,int age,String sex )创建多个学生信息,并使用Student的id属性作为key,存入Map
3)创建List对象,每个元素类型是StudentEntry
4)将Map中每个Entry信息放入List对象
student.java
package day10.homeWork12collection.work03;
public class Student {
private int id;
private String name;
private int age;
private String sex;
public Student() {
}
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 void setId(int id) {
this.id = id;
}
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;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
'}';
}
}
StudentEntry.java
package day10.homeWork12collection.work03;
public class StudentEntry {
private int key;
private Student stu;
public int getKey() {
return key;
}
public void setKey(int key) {
this.key = key;
}
public Student getStu() {
return stu;
}
public void setStu(Student stu) {
this.stu = stu;
}
}
TestListToMap.java
package day10.homeWork12collection.work03;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class TestListToMap {
public static void main(String[] args) {
TestListToMap testListToMap = new TestListToMap();
testListToMap.listToMap();
}
public void listToMap(){
Student s1 = new Student(001, "xiao", 20, "男");
Student s2 = new Student(002, "you", 21, "男");
Student s3 = new Student(003, "pei", 22, "女");
List<Student> sList= new ArrayList<>();
sList.add(s1);
sList.add(s2);
sList.add(s3);
for (Student s:sList) {
System.out.println(s.toString());
}
Map<Integer, Student> sMap = new HashMap<>();
sMap.put(s1.getId(),s1);
sMap.put(s2.getId(),s2);
sMap.put(s3.getId(),s3);
for (Map.Entry<Integer, Student> m:sMap.entrySet()) {
System.out.println(m.toString());
}
}
}
TestMapToList.java
package day10.homeWork12collection.work03;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class TestMapToList {
public static void main(String[] args) {
TestMapToList testMapToList = new TestMapToList();
testMapToList.mapToList();
}
public void mapToList(){
//创建多个学生信息
Student s1 = new Student(001, "xiao", 20, "男");
Student s2 = new Student(002, "you", 21, "男");
Student s3 = new Student(003, "pei", 22, "女");
//使用Studentd的id属性作为key,存入Map
Map<Integer, Student> sMap = new HashMap<>();
sMap.put(s1.getId(),s1);
sMap.put(s2.getId(),s2);
sMap.put(s3.getId(),s3);
//创建list对象,每个元素的类型是StudentEntry
List<StudentEntry> list = new ArrayList<StudentEntry>();
//将Map对象转换为List集合
for (Map.Entry<Integer,Student> m:sMap.entrySet()) {
StudentEntry studentEntry = new StudentEntry();
//将map中的一个映射关系,封装为一个studentEntry对象
studentEntry.setKey(m.getKey());
studentEntry.setStu(m.getValue());
//将studentEntry对象List集合
list.add(studentEntry);
}
for (StudentEntry s:list) {
System.out.println(s.getKey()+"\t"+s.getStu());
}
}
}