Java中如何防止ArrayList中的元素被删除?

2023-12-04

我想要一个ArrayList,并限制元素脱绒。我该怎么做?


创建一个包装器List不允许删除的接口,只允许删除所需的方法:

class MyArrayList<T> {
    private List<T> list;

    public MyArrayList() {
        list = new ArrayList<T>();
    }

    public boolean add(T t) {
        return list.add(t);
    }
    //add other desired methods as well
}

另一个不推荐的选择是从ArrayList并覆盖remove方法不执行任何操作,但这是不希望的,因为除非确实需要,否则不应从这些类扩展:

public MyArrayList<T> extends ArrayList<T> {
    @Override
    public boolean remove() {
        //do nothing...
    }
}

另外,您可以将当前的List using Collections#unmodifiableList避免元素删除(这是一个像上面提到的包装类,除了实现List)但请注意,您也不能添加元素。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中如何防止ArrayList中的元素被删除? 的相关文章

随机推荐

  • 使用 python 进行敏感性分析

    我正在尝试执行敏感性分析 并且我开始学习 python 所以我想在 python 中完成此任务 我发现了一个名为SALib但我真的不知道如何实现我自己的方程 例如 这是我的等式 ET 0 0031 C R 209 t t 15 1 首先我必
  • 使用 jQuery 从子域获取 JSON

    I have user1 mydomain com and user2 mydomain com域 我用api mydomain com通过 AJAX JSON 处理我的 Web 应用程序 所以 我想发出一个 POST 请求user1 my
  • 拨打号码时启动我的应用程序

    我想在拨打新号码或联系人号码时将我的应用程序显示为一个选项 我已关注这个话题 我有一个具有单一活动的应用程序 这是清单文件
  • 如何在 MySQL 中搜索 Soundex() 子字符串?

    我的 Joomla 有问题 3 集成搜索引擎 该引擎的索引器在索引内容时创建所谓的 soundex values 例如 测试对象 测试对象1 测试对象2239923 文本对象 它们都具有相同的 soundex 值 T23123 现在我的问题
  • 使用 C# 更改文件扩展名

    我有很多文件类型 pdf tiff jpeg bmp ETC 我的问题是如何更改文件扩展名 我试过这个 my file c my documents my images cars a jpg string extension Path Ge
  • PHP 脚本(嵌入式或其他形式)的安全性

    我对嵌入 PHP 代码的 HTML 网页 以 webpage php 形式存在于服务器上的网页 或可能被 HTML 页面引用的 PHP 脚本 即 PHP 脚本实际上不是网页的一部分 以 something php 形式存在于服务器上 并由
  • 使用 crontab 运行 PHP 脚本

    我知道 SO 是针对问题的 但无论我查了多少教程 我都无法得到我的crontab工作 我正在建立一个网站 该网站将依赖于crontab每天晚上重置我的数据库中的特定设置 这是我的crontab file Edit this file to
  • 如何在结构体字段中表示不透明类型

    我正在使用 genawater 箱来实现生成器函数 单线程 多任务 我有这段代码来创建一个新线程 并向其传递一个生成器 但我正在努力 找到如何表示impl Future输入那个gen 返回 use genawaiter rc gen Gen
  • getView 中的自定义 ArrayAdapter setBackground

    我正在开发一个 ListActivity 它将显示一堆数字 权重 我想更改 ListView 中特定行的背景 为此 我创建了 ArrayAdapter 类的自定义实现 并重写了 getView 方法 该适配器接受数字列表 并将数字 20 的
  • Firebase:对大型数据集的查询

    我正在使用 Firebase 来存储用户个人资料 我尝试在每个用户配置文件中放入最少量的数据 遵循有关结构化数据的文档中建议的良好实践 但由于我有超过 220K 个用户配置文件 因此在以 JSON 格式下载所有用户配置文件时 它仍然代表 1
  • Python - 在图中寻找模式

    该图是由以下生成的gnuplot脚本 这estimated csv文件可以在此链接中找到 https drive google com open id 0B2Iv8dfU4fTUaGRWMm9jWnBUbzg GNU Plot set st
  • 检查 Bash 数组是否包含值

    在 Bash 中 测试数组是否包含某个值的最简单方法是什么 这种方法的优点是不需要循环所有元素 至少不需要显式循环 但是由于array to string internal in array c仍然循环遍历数组元素并将它们连接成一个字符串
  • 使用带有管道输入的 gdb 而不创建文件

    我有一个接受管道输入的程序 bash gt echo something program seomthingelse 如何将此输入重定向到 gdb 而不创建新文件 如何将此输入重定向到 gdb 而不创建新文件 您可以创建一个命名管道 不确定
  • Spring中将变量传递给@Qualifier注解

    Spring中是否可以将变量传递给 Qualifier注解 例如 Autowried Qualifier datasource jobParameters datasource number private DataSource ds 我有
  • ios8 的 Parse 推送通知没有声音

    我在向 iOS8 设备推送通知时遇到问题 一切正常 但推送没有响铃 只出现在屏幕上 我通过仪表板发送正常推送 默认情况下启用声音 我在iPhone4 iOS 7 1 2 iPhone5 iOS 7 0 4 上测试 工作正常 但在iOS 8的
  • 将列表元素作为参数传递给 mixin

    以下代码有效 除非我尝试通过 gradient to include background image mixin compositeFill size 100px gradient top 000000 0 FFFFFF 100 isTo
  • Cython pyd 文件不通过 python 导入

    我正在用 python 编写一个程序来模拟粒子的反应 目的是向用户传授粒子反应的知识 由于 python 执行必要的处理速度太慢 我转向 Cython 来提高速度 它很有效 我可以编译我的 pyx文件到一个 pyd可以通过简单的命令从 py
  • 当数据包含换行符时 Text::CSV 解析

    我有一个解析 csv 文件的代码 并且数据还包含换行符 但是 Text CSV 在数据中遇到 n 时会中断 这是解析代码 use Data Dumper use Text CSV my csv Text CSV gt new binary
  • 使用 NSDateFormatter 进行日期格式化的问题

    我有一个日期字符串 我想将其转换为另一种格式 原始日期字符串示例是 2013 06 04 02 19 21 0000 我想将其转换为 6 月 4 日 星期三 NSString date string 2013 06 04 02 19 21
  • Java中如何防止ArrayList中的元素被删除?

    我想要一个ArrayList 并限制元素脱绒 我该怎么做 创建一个包装器List不允许删除的接口 只允许删除所需的方法 class MyArrayList