功能1:定义方法public void listToMap( )将List中Student元素封装到Map中
功能2:定义方法public void mapToList( )将Map中Value值Student信息封装到 List
运行结果:
代码实现:
1、Student类
package com.jr.eight.work;
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;
}
}
2、StudentEntry类
package com.jr.eight.work;
public class StudentEntry {
private int id;
private String name;
private int age;
private String sex;
public StudentEntry(int id, String name, int age, String sex) {
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
}
@Override
public String toString() {
return "StudentEntry [id=" + id + ", name=" + name + ", age=" + age + ", sex=" + sex + "]";
}
}
3、NewListMoMap类(实现类)
package com.jr.eight.work;
import java.util.*;
public class NewListMoMap {
private List<Student> list;
private Map<Integer, Student> map;
public NewListMoMap() {
this.list = new ArrayList<>();
this.map = new HashMap<>();
initializeData();
}
public static void main(String[] args) {
NewListMoMap converter = new NewListMoMap();
converter.listToMap();
converter.mapToList();
}
// 初始化数据
private void initializeData() {
Student st1 = new Student(1, "张三", 18, "男");
Student st2 = new Student(2, "李四", 19, "男");
Student st3 = new Student(3, "菲菲", 20, "女");
list.add(st1);
list.add(st2);
list.add(st3);
// 将数据放入 Map
for (Student st : list) {
map.put(st.getId(), st);
}
}
// 功能1:将List转为Map
public void listToMap() {
System.out.println("List中的学生信息:");
for (Student st : list) {
System.out.println(st);
}
System.out.println("============================================");
System.out.println("Map中的学生信息:");
for (Map.Entry<Integer, Student> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
// 功能2:将Map转为List
public void mapToList() {
List<StudentEntry> studentEntries = new ArrayList<>();
for (Map.Entry<Integer, Student> entry : map.entrySet()) {
Student student = entry.getValue();
StudentEntry studentEntry = new StudentEntry(student.getId(), student.getName(), student.getAge(), student.getSex());
studentEntries.add(studentEntry);
}
System.out.println("转换后的List<StudentEntry>内容:");
for (StudentEntry studentEntry : studentEntries) {
System.out.println(studentEntry);
}
}
}
总结:
这道题展示了 Java 中集合框架的基本使用, List
和 Map
的转换。通过实现这两个功能,能够理解如何在数据结构之间进行转换,以及如何封装和输出对象的信息。这种方式在实际开发中经常应用于数据处理、存储和展示等场景。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务