我正在使用包含对象重复副本的arraylist。我可以使用lastIndexOf方法确定重复的副本。确定后,我可以从列表中删除该重复项。现在,AFAIK,在从列表中删除项目后,列表的整体结构将受到损害。我的意思是,如果我从列表中删除第5项,那么在第5位,没有任何东西可能会导致遍历问题。我已经阅读了堆栈溢出类似的问题,并尝试了每一个像hashset,对我来说,他们不工作。如何仅保留包含字符串的唯一Arraylist。
答案 0 :(得分:3)
如果删除项目5,位置5将不包含“一个洞”。如果有项目,则列表中的下一项将成为项目5。因此,您可以继续从列表中删除项目以实现唯一性。但是如果你想要一个独特的集合,你可以使用Set。
答案 1 :(得分:0)
public Object remove(int index)
删除此列表中指定位置的元素。转移任何 左边的后续元素(从索引中减去一个)。
正如Mike所说,如果重复是一个问题,为什么不使用Set
?