zoukankan      html  css  js  c++  java
  • 5.4Java使用容器存储表格数据

    5.4Java使用容器存储表格数据

    ID姓名年龄薪水入职日期
    1001 张三 22 20000 2018.5.5
    1002 李四 30 30000 2005.4.4
    1003 王五 18 3000 2020.5.4

    希望通过容器进行存储

    存储方式:

    行存储:

    每一行使用一个Map存储

    整张表格存储:

    整个表格使用一个List存储

    在List里面放一个Map

    上述说的思想是:ORM思想--->对象关系映射

    package collection.storedata;

    import java.util.*;

    /**
    * 测试表格数据的存储---通过在List里面放入Map存储表格数据
    * ORM思想:Map表示一行数据,多行数据是多个Map,将多个Map放入一个List当中
    * @author Lucifer
    */
    public class TestStoreData {
       public static void main(String[] args) {
           /*创建一个Map对象用于存储第一行的数据---通过字段对应值*/
           Map<String, Object> row1 = new HashMap<>();
           /*使用put方法往里面放键值对*/
           row1.put("id",1001);
           row1.put("name","张三");
           row1.put("salary",20000);
           row1.put("date","2018.5.5");
           /*
           这样就存储好了第一行的信息,要存储第二行的信息
           在创建一个Map
            */

           Map<String, Object> row2 = new HashMap<>();
           row2.put("id",1002);
           row2.put("name","李四");
           row2.put("salary",30000);
           row2.put("date","2005.4.4");

           Map<String, Object> row3 = new HashMap<>();
           row3.put("id",1003);
           row3.put("name","王五");
           row3.put("salary",3000);
           row3.put("date","2020.5.4");

           /*将这些Map放入List当中*/
           List<Map<String, Object>> table1 = new ArrayList<>();
           /*将Map放入*/
           table1.add(row1);
           table1.add(row2);
           table1.add(row3);
           //遍历整张表---增强for循环遍历
           for (Map<String, Object> row : table1){
               //每一行是一个Map,再去遍历Map--->通过keySet返回相应的key
               Set<String> keyset = row.keySet();
               //增强for循环进行遍历
               for (String key : keyset){
                   //打印出key
                   System.out.print(key + ":" + row.get(key) + "\t");
              }
               System.out.println();
          }
      }
    }
    /*
    1.一行数据可以放List里面也可以放数组里面还可以放Map里面
    2.整个表可以放List里面也可以放Map里面
    List、Map、Set都是容器,是容器就可以放任何东西
    后面的JDBC本质上就是一张张表
    把表格数据取出来存入对象
    把对象内容存入表格
    其本质思想和上面写的是一样的
    */

    每一行使用JavaBean对象进行存储

    存储方式:

    每一行数据使用一个:javabean对象

    整个表格使用一个Map/List

    User类--->将表格字段定义为属性--->alt + insert快捷键创建

    package collection.storedata;

    import java.util.Date;

    /**
    * 定义属性,对应表格的字段内容
    * @author Lucifer
    */
    public class User {

       /*定义表格的属性*/
       private int id;
       private String name;
       private double salary;
       private String hiredate; //时间可以Date或者String

       /*空构造器*/
       //一个完整的javabean,要有set、get方法和无参构造器
       public User(){
      }

       public User(int id, String name, double salary, String hiredate) {
           super();
           this.id = id;
           this.name = name;
           this.salary = salary;
           this.hiredate = hiredate;
      }

       /*生成javabean方法*/
       public void setId(int id) {
           this.id = id;
      }

       public void setName(String name) {
           this.name = name;
      }

       public void setSalary(double salary) {
           this.salary = salary;
      }

       public void setHiredate(String hiredate) {
           this.hiredate = hiredate;
      }

       public int getId() {
           return id;
      }

       public String getName() {
           return name;
      }

       public double getSalary() {
           return salary;
      }

       public String getHiredate() {
           return hiredate;
      }

       /*重写toString方法*/
       @Override
       public String toString(){
           return "id:" + id + ",name:" + name + ",salary:" + salary + ",hiredate:" + hiredate;
      }
    }

    Test类

    package collection.storedata;

    import collection.storedata.*;

    import java.util.*;

    /**
    * 测试表格数据的存储,体会ORM思想
    * 每一行数据使用javabean对象进行存储,多行使用放到map或list中
    * @author Lucifer
    */
    public class TestStoreDataNo2 {
       public static void main(String[] args) {

           //每一行数据对应一个User对象
           User user1 = new User(1001,"张三",20000,"2018.5.5");
           User user2 = new User(1002,"李四",30000,"2005.4.4");
           User user3 = new User(1003,"王五",3000,"2020.5.4");
           /*
           每一个对象代表一行
           将这三个对象放到一个List or User里面
            */

           //新建一个List容器,存放对象
           List<User> list = new ArrayList<>();
           //将三个对象放入容器中
           list.add(user1);
           list.add(user2);
           list.add(user3);

           //遍历对象--->增强for循环
           for (User u : list){
               System.out.println(list);
          }

           //将他们放入Map中
           /*
           将id作为key
           Object对象作为vlaue
            */
           Map<Integer, User> map = new HashMap<>();
           //将对象放入容器中
           map.put(1001,user1);
           map.put(1002,user2);
           map.put(1003,user3);
           //遍历Map要先获得key的集合--->keySet方法获得key的集合
           Set<Integer> keyset = map.keySet();
           for (Integer key : keyset){
               //打印key
               System.out.println(key + "---" + map.get(key));
          }
      }
    }
    /*
    无论是使用javabean封装还是使用map封装其本质是一样的
    都是表示出一行数据然后放入表格中
    */

     

    It's a lonely road!!!
  • 相关阅读:
    观《逻辑思维,如何成为一个高手》
    第十八周 最后冲刺
    第十六周 个人项目开发流程
    个人作业
    第十四周个人总结
    排球比赛计分程序功能说明书
    Spring实战(1)
    java基础知识(三)
    JAVA中框架总结
    java基础知识(一)
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14736431.html
Copyright © 2011-2022 走看看