Java ArrayList如何在开头添加元素

2024-01-11

我需要将元素添加到ArrayList队列无论如何,但是当我调用该函数来添加元素时,我希望它在数组的开头添加该元素(因此它具有最低的索引),并且如果数组有 10 个元素,则添加新元素会删除最旧的元素元素(索引最高的元素)。

有没有人有什么建议?


List有方法add(int, E) http://docs.oracle.com/javase/7/docs/api/java/util/List.html,所以你可以使用:

list.add(0, yourObject);

之后您可以使用以下命令删除最后一个元素:

if(list.size() > 10)
    list.remove(list.size() - 1);

但是,您可能需要重新考虑您的需求或使用不同的数据结构,例如Queue http://docs.oracle.com/javase/7/docs/api/java/util/Queue.html

EDIT

也许看看 Apache 的CircularFifoQueue https://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/queue/CircularFifoQueue.html:

CircularFifoQueue是一个具有固定大小的先进先出队列,如果已满,则替换其最旧的元素。

只需使用最大大小初始化它:

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

Java ArrayList如何在开头添加元素 的相关文章

随机推荐

  • 功能组件嵌套与 props

    我对 React 还很陌生 我有一个关于架构和设计模式的问题 我已经完成了我的第一个项目 交互式图灵机测序仪 http reactiveturing herokuapp com 如果有人感兴趣的话 我发现自己经常声明嵌套函数 例如 func
  • 如何验证Fragments中的EditText并防止Fragment更改?

    说明 我有一个片段活动FirstRun其中包括 5碎片 with 滑动导航 第二个和第三个片段包含 2编辑文本需要用户填写 并且不需要为空或未填写 好的 我可以使用 OnTextChanged 侦听器验证字段 但用户有可能只是滑到下一个片段
  • 选择项目时 onNavigationItemSelected 不调用

    我使用以下代码在导航抽屉中添加页脚视图
  • Python Threading.Event半忙等待的更好解决方案

    我正在使用非常标准的 Threading Event 主线程到达一个运行循环的点 event wait 60 另一个阻塞请求 直到有可用答复为止 然后启动 event set 我希望主线程选择 40 秒 但事实并非如此 来自 Python
  • 我们可以在 SQLite 数据库 (Android) 中存储 .doc .pdf 和 .jpg 文件吗?

    是否可以在 SQLite 数据库中存储像 pdf doc 这样的文件并再次成功检索它们 文件必须完整且再次可读 我知道我们可以存储图像文件 但对于上述情况 即使我们可以存储给定的最大文件大小是多少 好 去吧 将每个文件存储在数据库中比仅使用
  • 如何对 Java 小程序进行签名以便在浏览器中使用?

    我正在尝试在我的网站上部署 Java 小程序 我还需要签名 因为我需要访问剪贴板 我已经遵循了我能找到的所有签名教程 但没有取得任何成功 这是我到目前为止所做的 在 NetBeans 中编写了一个小程序 它在小程序查看器中运行良好 用它制作
  • 如何从BeautifulSoup4中的html标签中找到特定的数据属性?

    有没有办法仅使用 html 中的 data 属性来查找元素 然后获取该值 例如 在 html 文档中使用以下行 ul 我如何检索Sdafdo39通过在整个 html 文档中搜索具有以下内容的元素data bin属性 更准确一点 item d
  • 动态类型保护函数

    我想创建一个类型保护函数来检查对象中的特定键是否具有例如Astring价值 如果我知道键名 这很容易 const data object a one b two c three function hasStringKeyA data any
  • Passport-saml 和 SAML 加密

    我是新来的passport and passport saml 我正在尝试建立一个Node js使用我们大学的 Shibboleth 身份提供商进行单点登录的服务器 我非常接近让一切正常工作 但在 login callback 期间遇到了障
  • 在 Visual Studio 2012 中将 .NET Framework 4.5 降级到 4 以获取 C++ CLR 支持的 DLL 项目?

    当链接 Visual C NET Framework 4 0 支持的项目时 我收到此错误 因为我添加了 C CLR DLL 与 4 5 NET Framework 的引用 error CS0246 The type or namespace
  • 如何在 xml 中设置形状的背景?

    我刚刚使用 android 形状创建了一个红色圆圈
  • Spring Boot:java.time.Duration 的默认序列化从 String 更改为 Number

    我们最近从 Spring Boot 2 1 9 升级到 2 2 1 这导致我们的测试失败 调查得出的结果是 java time Duration默认情况下 类型现在以不同的方式序列化 而不是有字符串 PT15M 在我们现在得到的 JSON
  • 多对象绘制(OpenGL)

    问题是我不知道如何正确绘制两个对象 因为我的另一个对象没有被绘制 这是主要代码 GLuint VertexArrayID glGenVertexArrays 1 VertexArrayID glBindVertexArray VertexA
  • 获取给定周年、给定月份和给定周的开始和结束日期

    如何在 c 4 0 中获取给定年份 int 给定月份 int 和给定周 int example Year 2011 Month 07 week 04 的开始和结束日期 提前致谢 2011 年的开始日期为 07 月 该月的周数为 04 Goo
  • Segue 传递数据后如何重新加载 tableView 数据

    我有两个表视图 一种是用户单击的 另一种是显示数据的 当用户单击第一个表视图中的单元格时 将对我的 firebase 数据库进行查询 并将查询存储在数组中 然后我通过 segue 传递数据 我使用了属性观察器 因此我知道正在设置变量 通过使
  • Ruby 类实例变量与类变量

    I read Ruby 实例变量何时设置 https stackoverflow com questions 826734 when do ruby instance variables get set但何时使用类实例变量我有两种想法 类变
  • MVVM标准化

    有人在Silverlight 发布 http forums silverlight net forums t 159237 aspxMVVM 目前缺乏标准化 因此每个人都有自己的风格 这就是为什么我和 WPF Disciples 的一些人正
  • AutoEventWireup 和 base.OnLoad(e) 调用 Self 导致堆栈溢出

    使用VS2008 C 什么时候AutoEventWireup设置为 true 并在我调用的网络表单中base OnLoad e like protected void Page Load object sender EventArgs e
  • 将 bash 变量放入 zip 命令的文件名中

    在 bash 脚本中 如何使用变量来创建专门命名的压缩文件 例如 我想做这样的事情 VERSION STRING 1 7 3 zip r foo VERSION STRING foo 理想情况下我最终会得到一个名为foo 1 7 3 zip
  • Java ArrayList如何在开头添加元素

    我需要将元素添加到ArrayList队列无论如何 但是当我调用该函数来添加元素时 我希望它在数组的开头添加该元素 因此它具有最低的索引 并且如果数组有 10 个元素 则添加新元素会删除最旧的元素元素 索引最高的元素 有没有人有什么建议 Li