您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页Java----实现List和Map数据的转换。

Java----实现List和Map数据的转换。

来源:伴沃教育

功能1:定义方法public void listToMap( )将List中Student元素封装到Map中

功能2:定义方法public void mapToList( )将Map中Value值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对象

 

运行结果:

 

代码实现:

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 中集合框架的基本使用, ListMap 的转换。通过实现这两个功能,能够理解如何在数据结构之间进行转换,以及如何封装和输出对象的信息。这种方式在实际开发中经常应用于数据处理、存储和展示等场景。

 

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务