for (int i = 0; i < arrayP.size(); i++) {
if (arrayP.get(i) == What to put here?) {
arrayP.remove(i)
}
}
如果我把i+1
它放在一起比较。我怎样才能让它贯穿每个元素?
元素 1 然后贯穿整个 ArrayList。然后元素 2 运行 ArrayList。
您可以使用LinkedHashSet
:
list = new ArrayList<>(new LinkedHashSet<>(list));
如果元素的顺序无关紧要,则应使用法线HashSet
代替。事实上,如果这样做是合乎逻辑的,您可能会首先考虑使用 aSet
而不是 a List
。阅读两者之间的差异并选择更合适的结构。
尝试这个
Set arrayPSet = new LinkedHashSet(arrayP);
现在 arrayPSet 保存你的数组,删除它的重复值,然后你可以使用它,你可以再次将你的列表重新分配给这个集合,比如
arrayP = new ArrayList(arrayPSet);
现在重复被删除
如果 arrayP 列表包含您创建的对象,请确保覆盖 equals() 和 hashCode() 方法
好的,我更新了它也许这行得通,我没有尝试订单问题,但是有 TreeSet/Comparators/Comparables 解决方案,请先尝试此修改