我有一个关于在java中删除arraylist中的方法的问题,例如:
....
ArrayList<Array>list=new ArrayList<Array>();
Array a=new Array (1,2,3);
Array b=new Array (4,5,6);
Array c=new Array (7,8,9);
list.add(a);
list.add(b);
list.add(c);
....
我的问题是,如果我想从arraylist中删除对象b,我应该使用list.remove(1)还是list.remove(b)?换句话说,在这种情况下,我应该在remove方法中使用对象或索引吗?
答案 0 :(得分:3)
你可以使用两者,但显然更好的是删除对象,因为理论上订单可能会改变。
编辑:正如@Luiggi Mendoza所提到的 - 如果你想正确使用equals()
,请记得覆盖remove(Object o)
方法。如果您这样做,请不要忘记覆盖hashCode()
。
答案 1 :(得分:0)
您可以同时执行这两项操作,使用索引删除或使用自己的对象