java - 如何允许 ArrayList 删除添加的对象而不覆盖或使其不可变
问题描述
伙计们,我创建了一个 ArrayList,但我不想让它不可变。我只是寻求找到一个解决方案,以解决如何不允许 ArrayList 删除对象。
public final class EMailArchive {
private final String name;
private final ArrayList <EMail> emailList;
private final LocalDate date;
public EMailArchive(String name, ArrayList <EMail> emailList) {
this.name = name;
this.emailList = emailList;
date = LocalDate.now();
}
public String getName() {
return name;
}
public LocalDate getDate( ) {
return date;
}
public List <EMail> getEMailList() {
return emailList;
}
public void addEMailToArchive(final EMail mail) {
emailList.add(mail);
// the mail added to the list shall not be removed, but how do i do that
}
}
解决方案
一种方法是实现覆盖删除方法的 ArrayList 的子类
class myArrayLit extends ArrayList {
public myArrayList() {
super();
}
@Override
public remove(int index) {}
}
这是一个基本示例,还有更多方法可以覆盖,以实现您的目标。
推荐阅读
- python - .findAll() 不经常发现东西
- java - 使用 Java JFrame 从用户输入中绘制形状
- javascript - 如何专门为 jquery 或 javascript 中的每个输入隐藏这两个元素?寻求通用解决方案
- python - 使用 Python 抓取网络巴士时刻表
- docker - -t 标志如何保持容器运行?
- json - 错误:未为“对象”类型定义运算符“[]”。尝试了几种方法,但其中任何一个都不起作用
- java - 重置redis中的TTL
- javascript - 无法获取具有特定电子邮件和特定状态的用户 mongodb
- c# - ASP.NET MVC 中的发布操作始终接收 null
- node.js - 使用 Ajax 下载文件