java集合:在list中添加自定义的类的对象

案例:公告管理
需求:1.公告的添加和显示
2.在指定位置处插入公告
3.删除公告
4.修改公告
关于公告管理,会有公告类属性,公告类方法需要定义:

  • 公告类属性
    • 编号id
    • 标题title
    • 创建人creator
    • 创建时间createTime
  • 公告类方法
    • 构造方法
    • 获取和设置属性值的方法

创建公告类,定义属性:

package java_set;

import java.util.Date;

public class Notice {
    private int id; //ID
    private 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;
    }    
}

进行测试:

package java_set;

import java.util.ArrayList;
import java.util.Date;

public class NoticeTest {
    public static void main(String[] args) {
        //创建Notice类的对象,生成三条公告
        Notice notice1 = new Notice(1, "欢迎来到Java的课堂!", "管理员", new Date()); //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());
        }
    }
}

输出:

公告的内容为:
1:欢迎来到Java的课堂!
2:请同学们按时提交作业!
3:考勤通知!

在指定位置处插入公告

 //在第一条公告后面添加一条新公告
Notice notice4 = new Notice(4, "在线编辑器可以使用啦!", "管理员", new Date());
noticeList.add(1, notice4);  //在指定index位置添加
//显示公告
System.out.println("公告的内容为:");
for(int i=0; i<noticeList.size(); i++){
    System.out.println((i + 1) + ":" + ((Notice)(noticeList.get(i))).getTitle());
}

输出:

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

删除按时提交作业的公告

//删除按时提交作业的公告
noticeList.remove(2);
//显示公告
System.out.println("删除公告后的内容为:");
for(int i=0; i<noticeList.size(); i++){
    System.out.println((i + 1) + ":" + ((Notice)(noticeList.get(i))).getTitle());
}

输出:

删除公告后的内容为:
1:欢迎来到Java的课堂!
2:在线编辑器可以使用啦!
3:考勤通知!

将第二条公告改为:Java在线编辑器可以使用啦!

//将第二条公告改为: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:欢迎来到Java的课堂!
2:Java在线编辑器可以使用啦!
3:考勤通知!
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值