目录

前言

一、容器如何处理表数据

二、JAVABean(java豆)+ArrayList

2、1 创建JAVABean

2、2 使用ArrayList进行存储。

三、使用HashMap+ArrayList进行存储。

3、1 HashMap存储个人信息

3、2 使用ArrayList进行存储。

总结


前言

前几篇博客讲解了Collection集合类的底层以及一些基本的使用!今天来聊聊在实际项目中我们是怎么运用的!

一、容器如何处理表数据

身份证ID 姓名 年龄 性别
1 德玛 32
2 小鱼人 22
3 女枪 18

上面是一张模拟的表格,在实际项目中通常需要将数据存储到表格中,或者将数据从表格中拿出。通常有两种方式进行

  1. 使用JAVABean(java豆)+ArrayList方式进行。
  2. 使用HashMap+ArrayList进行存储。

二、JAVABean(java豆)+ArrayList

2、1 创建JAVABean

JAVABean:java豆,实际上一种面对对象的思想,我们将表格中的人员信息,抽象成一个实体类Person。而这个Person类我们就可以称之为JAVABean或者实体类。这种类在企业开发中非常常见,其中类里面一般只存私有属性以及对应的GET,SET方法和构造函数。这些属性实际上就是表格中的每一列!

Person类核心代码:

public class Person {
// 每一个属性代表的就是一个列private Integer IDCard;private String name;private Integer age;private Character sex;// 空构造public Person(){}// 有参构造public Person(int IDCard,String name,int age,char sex){this.IDCard=IDCard;this.name=name;this.age=age; this.sex=sex;}public Integer getIDCard() {return IDCard;}public void setIDCard(Integer IDCard) {this.IDCard = IDCard;}// get,set方法就写了一个 其他省略//....
}

2、2 使用ArrayList进行存储。

public class UseCollection {// javabean+arraylist的使用public static void main(String[]args){// 1、创建person对象.Person person01 = new Person(1,"德玛",32,'男');Person person02 = new Person(2,"小鱼人",22,'雄');Person person03 = new Person(3,"女枪",18,'女');// 2、创建ArrayList,并存入List arrayList = new ArrayList();arrayList.add(person01);arrayList.add(person02);arrayList.add(person03);// 3、此时我们所有的信息都存入到了List中printPersonName(arrayList);}public static void printPersonName(List<Person> list){for(int i = 0 ; i < list.size(); i++){System.out.println("ID:"+list.get(i).getIDCard()+" 姓名:"+list.get(i).getName());}}
}

三、使用HashMap+ArrayList进行存储。

上面我们通过JAVABean+ArrayList的方式进行了数据的存储,实际上我们还可以通过HashMap的方式替代掉实体类,在现代企业开发中有不少的公司仍然使用这种方式。其中原理就是通过HashMap的K,V特性进行的。一个HashMap就是一个对象。话不多说,Let's do it!

3、1 HashMap存储个人信息

        //第二种方式 通过 HashMap进行。Map map1 = new HashMap();//存入德玛的信息 ,Key存的是表中的列 ,Value存的就是表中的值。map1.put("IDCard",1);map1.put("name","德玛");map1.put("age",32);map1.put("sex",'男');//一条信息就存好了。Map map2 = new HashMap();map2.put("IDCard",2);map2.put("name","小鱼人");map2.put("age",22);map2.put("sex",'雄');Map map3 = new HashMap();map3.put("IDCard",3);map3.put("name","女枪");map3.put("age",18);map3.put("sex",'女');

3、2 使用ArrayList进行存储。

// 2、创建ArrayList,并存入
List arrayList2 = new ArrayList();
arrayList2.add(map1);
arrayList2.add(map2);
arrayList2.add(map3);printPersonName(arrayList2,0);

打印结果:


总结

集合在实际开发中可以结合数据库的表来操作,是一种常见的方式!需要好好掌握这两种方式!Collection在整个企业开发中都是有非常重要的作用,使用频率非常高!这一块内容要相当熟悉。

其他Collection相关博客链接:

1、HasHMap的底层实现

2、ArrayList底层实现

3、LinkList的底层实现

我是帅哥威!一个即将拥有9块腹肌的程序猿。不给我点个

容器类存储表格数据(12)相关推荐

  1. Java的知识点18——数组存储表格数据、冒泡排序的基础算法、冒泡排序的优化算法、二分法查找

    数组存储表格数据 package cn.dym08; import java.util.Arrays; public class Test09 {public static void main(Str ...

  2. 从零开始学java(二十六)--多维数组,多维数组存储表格数据

    从零开始学java(二十六)--多维数组 多维数组 多维数组存储表格数据 多维数组 多维数组可以看成以数组为元素的数组.可以有二维.三维.甚至更多维数组,但是实际开发中用的非常少.最多到二维数组(学习 ...

  3. 【Java】利用容器存储表格数据

    思路 代码 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util. ...

  4. 如何不写代码通过爬虫软件采集表格数据

    采集表格内容,包括列表形式的商品评论信息.正文中的表格等,凡是html代码采用<table>表单形式的表格,都可以不写代码,通过可视化的方式完成采集. 首先,我们使用的工具是前嗅大数据的F ...

  5. STM32(或其他MCU)如何向SD卡、U盘读写Excel表格数据

    1,直接上方法         在程序中将 待保存的数据 以".csv"格式(.csv一种特殊纯文本文本,同操作.txt方式一样) 存储到 SD卡,U盘中!再将 SD卡,U盘插入电 ...

  6. 第6章 数据结构化与数据存储(6.1数据结构化神器——pandas库,读取网页中的表格数据)

    通过pandas库可以方便地爬取网页中的表格数据,对数据进行结构化处理,并导出为Excel工作簿等文件. 6.1.1用read_html()函数快速爬取网页表格数据 使用pandas库中的read_h ...

  7. scrapy中集成selenium+浏览器池实现selenium的并发爬取LCSC网站中非结构化表格数据+异步存储进mysql+完整代码

    爬取https://lcsc.com/products/Connectors_365.html这个网址下所有的表格数据. 蓝色的都是要爬取的子页面,要爬取子页面里面的表格数据 ,表格数据如下: 右上角 ...

  8. 多线程导出excel高并发_用多线程优化Excel表格数据导入校验的接口

    公司的需求,当前某个Excel导入功能,流程是:读取Excel数据,传入后台校验每一条数据,判断是否符合导入要求,返回给前端,导入预览展示.(前端等待响应,难点).用户再点击导入按钮,进行异步导入(前 ...

  9. 《预训练周刊》第9期:TABBIE:表格数据的预训练表示、「视觉预训练神作」:不用图片却训出图像识别SOTA?...

    No.09 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第9期< ...

最新文章

  1. <<温泉屋的小老板娘>>观后感
  2. 2016/8/18 Linux常用命令 :目录、文件处理命令
  3. Windows XP系统超强支持工具全面接触
  4. Windows集群网络配置最佳做法
  5. 【转】wpf从我炫系列1----布局控件的使用(上)
  6. Android studio如何更改应用程序的图标以及名称
  7. 《趣学JavaScript——教孩子学编程》——第1章 认识JavaScript1.1 认识JavaScript
  8. BZOJ 2049: [Sdoi2008]Cave 洞穴勘测——LCT
  9. 20180513 实参 形参
  10. admin ajax,如何在FastAdmin中使用Ajax发送请求?
  11. Linux lame无法识别WAV,Lame框架 MP3与WAV互转
  12. 如何参加GoToMeeting在线会议
  13. 中心极限与大数定理律的关系_21厦大数学考研 | 数列与函数极限复习建议!
  14. mysql数据库误删后能恢复吗_浅谈数据库误删除恢复
  15. 动态规划-试题(1)-扔玻璃珠
  16. Python为什么这么多人说好?
  17. Jmeter 录制手机脚本
  18. crypto-CommonModulusAttack(GXYCTF2019)
  19. ARM惹众怒,美国芯片行业也开始抛弃它,跟随中国芯片支持新架构
  20. automotive industry is embracing change and agile transitioning

热门文章

  1. CMMI(能力成熟度集成)四个等级
  2. Ubuntu16.04+Kinect2摄像头进行物体识别
  3. 易查分显示教师编号不正确
  4. 日本国家旅游局的新版《日本本土风情导览》主打人迹罕至的名胜、劲酷的景点以及鲜为人知的攻略
  5. Python的特点及数据的存储单位(¥4)
  6. java基础知识总结---黑马程序员
  7. 2-2 组合优化问题-常用模型与通用求解器
  8. 计算机控制系统2017模拟题,计算机控制系统模拟试题.doc
  9. NRC 0x78 在CAPL中如何打开和关闭
  10. AWS KVS(Kinesis Video Streams)之WebRTC集成过程(六)