案例:公告管理,增删改查(ArrayList增删改查)

  • 公告管理需求:
    • 1. 功能需求
    • 2. 公告类属性:
    • 3. 公告类方法
  • 实现代码
    • 定义公告类
    • 公告的添加和显示
    • 公告的删除和修改
    • 运行结果:

公告管理需求:

1. 功能需求

(1) 公告的添加和显示;
(2) 在指定位置处插入广告;
(3) 删除公告;
(4) 修改公告。

2. 公告类属性:

(1) 编号id;
(2) 标题title;
(3) 创建人creator;
(4) 创建时间creatTime。

3. 公告类方法

(1) 构造方法;
(2) 获取和设置属性值的方法。

实现代码

定义公告类

package com.study.set;
import java.util.Date;
public class Notice {private int id;//IDprivate String title;//标题private String creator;//创建人private Date createTime;//创建时间public Notice(int id, String title, String creator, Date createTime) {super();this.id = id;this.title = title;this.creator = creator;this.createTime = createTime;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getCreator() {return creator;}public void setCreator(String creator) {this.creator = creator;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}
}

注:快捷建立构造方法:{} → \to →右键 → \to →Source → \to →Generate Constructor using Fields… → \to →勾选方法 → \to →创建完毕

公告的添加和显示

     // 创建Notice类的对象,生成三条公告Notice notice1 = new Notice(1, "欢迎来到慕课网!", "管理员", new Date());Notice notice2 = new Notice(2, "请同学们按时提交作业!", "老师", new Date());Notice notice3 = new Notice(3, "考勤通知!", "老师", new Date());// 添加公告ArrayList noticeList = new ArrayList();noticeList.add(notice1);noticeList.add(notice2);noticeList.add(notice3);// 显示公告System.out.println("公告的内容为:");for (int i = 0; i < noticeList.size(); i++) {System.out.println(i + 1 + ":" + ((Notice) (noticeList.get(i))).getTitle());}

注:在显示代码中,noticeList.get(i)的返回值类型为Object,而只有Notice类才有getTitle()方法,因此这里需要进行类型的强制转换。

公告的删除和修改

修改:set

     System.out.println("**************************************");// 在第一条公告后面添加一条新公告Notice notice4 = new Notice(4, "在线编辑器可以使用啦!", "管理员", new Date());noticeList.add(1, notice4);// 显示公告System.out.println("公告的内容为:");for (int i = 0; i < noticeList.size(); i++) {System.out.println(i + 1 + ":" + ((Notice) (noticeList.get(i))).getTitle());}System.out.println("**************************************");// 删除按时提交作业的公告noticeList.remove(2);// 显示公告System.out.println("删除公告后的内容为:");for (int i = 0; i < noticeList.size(); i++) {System.out.println(i + 1 + ":" + ((Notice) (noticeList.get(i))).getTitle());}//将第二条公告改为:Java在线编辑器可以使用啦!System.out.println("**************************************");//修改第二条公告中title的值notice4.setTitle("Java在线编辑器可以使用啦!");noticeList.set(1, notice4);System.out.println("修改后公告的内容为:");for (int i = 0; i < noticeList.size(); i++) {System.out.println(i + 1 + ":" + ((Notice) (noticeList.get(i))).getTitle());}

运行结果:

公告的内容为:
1:欢迎来到学习网!
2:请同学们按时提交作业!
3:考勤通知!
**************************************
公告的内容为:
1:欢迎来到学习网!
2:在线编辑器可以使用啦!
3:请同学们按时提交作业!
4:考勤通知!
**************************************
删除公告后的内容为:
1:欢迎来到学习网!
2:在线编辑器可以使用啦!
3:考勤通知!
**************************************
修改后公告的内容为:
1:欢迎来到学习网!
2:Java在线编辑器可以使用啦!
3:考勤通知!

注:格式化快捷键:Ctrl+F。

Java学习(84)Java集合——案例:公告管理(ArrayList增删改查)相关推荐

  1. MySQL学习总结(2) --- 数据表管理(增删改查)、使用DQL查询数据(SELECT)

    MySQL学习总结(2) - 数据表管理(增删改查).使用DQL查询数据(SELECT) 1. 数据管理(增删改查) 数据库数据管理方法: a.通过SQLyog等管理工具管理数据库数据 b. 通过DM ...

  2. 论坛模块_版块管理_增删改查实现上下移动

    论坛模块_版块管理1_增删改查 设计实体Forum.java public class Forum {private Long id;private String name;private Strin ...

  3. 使用SpringBoot一小时快速搭建一个简单后台管理(增删改查)(超详细教程)

    最近也是临近期末了,各种的期末大作业,后台管理也是很多地方需要用到的,为了方便大家能快速上手,快速搭建一个简单的后台管理,我花了两天时间整理了一下 我会从0开始介绍,从数据库的设计到前端页面的引入最后 ...

  4. javaweb增删改查实例_JavaWeb图像可视化管理系统之后台搭建(二)用户管理与增删改查(内含代码)...

    上一篇文章中,我们介绍了环境配置与后台设计,对于不了解的同学,可以看这个链接 CharlesDDDD:JavaWeb图像可视化管理系统之后台搭建(一)环境配置与后台设计​zhuanlan.zhihu. ...

  5. Python面向对象编程案例:封装数据库增删改查操作

    问题描述:编写一个类,封装对SQLite数据库的增删改查操作,使得数据库操作更加友好,类的使用者不需要了解SQL语句的语法规则,只需要了解类的接口即可. 思考下面的问题,尝试着写一写,然后到达文末查看 ...

  6. es java 增删改查_【java作业】如何用序列化的方法写增删改查

    培训19天的时候老师布置了一个用序列化反序列化做学生管理系统的作业.百度没找到怎么写,后来老师写了一份,我就贴出来吧.对蠢萌蠢萌.纱布拉基的我来说真TM难 首先你的包和里面的类是跟下图这样的:Work ...

  7. java ee 修改_java ee 在数据库中执行增删改查

    1.先建一个主页面里面包含着添加方法 学生信息 {//1.连接数据库// 1)加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver" ...

  8. 综合案例--银行账户(增删改查)

    综合练习–银行案例 创建数据库 数据库 Account 创建一张表 t_ccount cardId:字符串,主键 password:字符串,非空 username:字符串,非空 balance:小数, ...

  9. java修改cookie的值_Java管理Cookie增删改查操作。

    Cookie属性 了解这几个属性之后,就知道如何进行Cookie的操作了. name Cookie的名称. value Cookie的值. maxAge Cookie的失效时间,有以下几种值,默认为- ...

最新文章

  1. 【Netty】Netty线程模型和EventLoop
  2. 《JavaScript忍者秘籍》——导读
  3. 使用RAC和Data Guard构建MAA架构
  4. docker中centos遇到sudo: command not found
  5. python(15)-window7配置iPython
  6. STM8 ADC转换模式-------带缓存的连续模式
  7. 大数据是国家目前急需的技术领域
  8. html定义页脚有什么用,HTML5中footer标签的用法你知道吗?,HTML5中的footer标签是什么意思?...
  9. html表单提交带后台,form表单提交数据给后台
  10. 情景分析是什么?我们该如何去理解这个概念?
  11. linux双线路由,linux双线路由配置方法介绍
  12. 在线大学计算机资源,计算机专业常用网站及数据库-计算机及自动化专业网上资源.ppt...
  13. 苹果CMS海螺模板4.0修复版带后台 附安装教程
  14. phpmywind教程:单页信息调用说明【进阶篇一】
  15. BackupManagerService分析 基于Android 8.0
  16. jhipster使用liquibase修改一个表的一个字段
  17. Kubernetes基础1
  18. 全国计算机图书销售订单记录,销售订单管理信息系统.doc
  19. 【台达 PLC - 0】 - 电气基础
  20. Swift-自动引用计数(Automatic Reference Counting)(十四)

热门文章

  1. 学 计算机 知识视频,教你学电脑——计算机基础知识【视频】*
  2. Pr菜鸟入门教程(剪辑部分)
  3. couldn't create PTY
  4. Excel技能之查找筛选排序,同事竖起大拇指
  5. 华为路由器负载均衡_华为AR路由器配置双出口静态IP双链路负载 | 铭泰网络
  6. html桌面插件,js桌面虚拟键盘插件A-Keyboard
  7. 太爽了!35岁程序员被裁后反而实现财富自由!
  8. 古筝d调变降e调怎么办_古筝各个调式转调详细解读
  9. 你所不知的米聊和微信的前身——酷啦啦
  10. 图解在EXCEL中,通过身份证自动获得出生日期和性别。