oop—如何检查java中的arraylist中是否存在某个索引

toiithl6  于 2021-07-11  发布在  Java
关注(0)|答案(2)|浏览(285)

在java中,我试图将一个用户对象存储在arraylist中,在存储/添加它之前,我会询问这个对象应该存储在哪里的索引号。当他输入索引号时,我想检查该索引是否为空,即该索引上没有存储任何其他用户对象-如果为空,将添加新用户,如果该用户已被占用,我将要求该用户再次输入有效的索引号。。
所以问题是-如何检查arraylist中的特定索引是否为空?
我知道存在这个方法arraylist.contains(objecte),但这里的问题是,我想看看是否存在一个特定的索引,而不是对象是否存在。。所以,请让我知道如何才能做到这一点,谢谢你。

zaq34kh6

zaq34kh61#

我想你误解了列表(在本例中是arraylists)的工作原理。列表中不能有空槽。当一个列表有1个元素时,它总是有索引0。如果有3个元素,它们有0、1和2的标记。然后,如果从该列表中删除索引为1的元素,它将被重新组织,并在位置0和1处包含元素。
如果要保留元素的索引,可以使用简单的对象数组, User[] ,或索引和分配给它们的对象的Map, Map<Integer, User> .

kx1ctssn

kx1ctssn2#

您可以通过以下方式进行检查:

boolean exists = index < list.size()

方法,如果索引>=size,则它不存在。

相关问题