实现List和Map数据的转换(idea_JAVA)

实现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());
        }
    }
}

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一个简单的Javaweb项目ajax实现数据库内容显示首页的示例代码: 1. 首先,在JSP页面中定义一个空的div,用于显示从数据库中获取的数据: <div id="data"></div> 2. 使用jQuery库进行ajax请求,将数据从后端Java代码获取并显示在页面上: $(document).ready(function(){ $.ajax({ url: "getData.jsp", // 后端Java代码获取数据的URL type: "get", dataType: "json", success: function(data){ var html = ""; // 用于生成HTML代码的变量 $.each(data, function(index, item){ // 生成HTML代码,将从数据库中获取的数据显示在页面上 html += "<div>" + item.title + "</div>"; }); $("#data").html(html); // 将HTML代码插入到页面中 }, error: function(){ alert("Error!"); // 如果请求失败,弹出错误提示 } }); }); 3. 在后端Java代码中,使用JDBC连接到数据库,并从中获取数据: try{ Class.forName("com.mysql.jdbc.Driver"); // 加载MySQL驱动 String url = "jdbc:mysql://localhost:3306/mydatabase"; // 数据库连接URL String username = "root"; // 数据库用户名 String password = "password"; // 数据库密码 Connection conn = DriverManager.getConnection(url, username, password); // 连接到数据库 String sql = "SELECT * FROM mytable"; // SQL查询语句 PreparedStatement stmt = conn.prepareStatement(sql); ResultSet rs = stmt.executeQuery(); // 执行查询 List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>(); // 用于存储查询结果的List while(rs.next()){ Map<String, Object> data = new HashMap<String, Object>(); // 用于存储每行数据Map data.put("id", rs.getInt("id")); // 将每列数据存储到Map中 data.put("title", rs.getString("title")); data.put("content", rs.getString("content")); dataList.add(data); // 将Map添加到List中 } rs.close(); stmt.close(); conn.close(); String jsonData = new Gson().toJson(dataList); // 将List转换为JSON格式的字符串 response.setContentType("application/json"); // 设置响应内容类型为JSON response.getWriter().write(jsonData); // 将JSON数据返回给前端 }catch(Exception e){ e.printStackTrace(); } 这样,就可以使用ajax实现数据库内容显示在Javaweb项目的首页上了。注意,以上示例代码仅供参考,实际应用中需要根据具体情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

友培

数据皆开源!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值