java - 如何检查Java中的ArrayList中是否存在某个索引
问题描述
在 Java 中,我试图将 User 对象存储在 ArrayList 中,然后在存储/添加它之前 - 我在询问该对象应该存储在哪里的索引号。当他输入索引号时,我想检查是否索引是空的,即没有其他用户对象存储在该索引上 - 如果它是空的,新用户将被添加,如果它已经被占用,我会要求用户再次输入一个有效的索引号。
所以问题是 - 我如何检查 ArrayList 中的特定索引是否为空?
我知道存在此方法 ArrayList.contains(Object e) 但这里的问题是,我想查看是否存在特定的 INDEX,而不是 OBJECT 是否存在。所以请告诉我如何实现这一点,谢谢你。
解决方案
我认为您误解了 Lists(或本例中的 ArrayLists)的工作原理。列表中不能有空槽。当 List 有 1 个元素时,它的索引始终为 0。如果有 3 个元素,它们的索引为 0、1 和 2。然后,如果从该列表中删除索引为 1 的元素,它将被重新组织,并在位置上有元素0 和 1。
如果你想保留元素的缺陷,你可以使用一个简单的对象数组,User[]
或者使用分配给它们的缺陷和对象的映射,Map<Integer, User>
。
推荐阅读
- unix - 如何使用 grep 获取每个文件中包含后缀(ASC。或 DEFG。或 CDW。)的所有文件和单词
- php - Laravel 数据库设计多级分类与产品详情表
- python - 使用 SQL 选择语句确定 Python 计划时间事件的滚动移动平均线
- javascript - 即使我没有尝试渲染对象,获取对象作为 React 子错误也是无效的
- python - 有效地评估数组值和索引的函数
- javascript - 使用带有 NEXTjs 的 react-moveable 时遇到问题:TypeError:无法读取未定义的属性“userAgent”
- php - 文本文件中的工件
- c++ - P1359R0 [basic.lval] 措辞更改和别名规则
- featuretools - 在深度特征合成中使用多个父 ID 作为截止时间
- r - 将数据帧(或小标题)转换为小标题的有效方法