当前位置: 首页 > 面试题库 >

如何从Java中的ArrayList中删除特定对象?

南门正祥
2023-03-14
问题内容

如何从ArrayList中删除特定对象?假设我有一个如下课程:

import java.util.ArrayList;    
public class ArrayTest {
    int i;

    public static void main(String args[]){
        ArrayList<ArrayTest> test=new ArrayList<ArrayTest>();
        ArrayTest obj;
        obj=new ArrayTest(1);
        test.add(obj);
        obj=new ArrayTest(2);
        test.add(obj);
        obj=new ArrayTest(3);
        test.add(obj);
    }
    public ArrayTest(int i){
        this.i=i;
    }
}

我该如何new ArrayTest(1)从我的物品中删除物品ArrayList<ArrayList>


问题答案:

ArrayList根据该equals(Object obj)方法删除对象。因此,您应该正确实现此方法。就像是:

public boolean equals(Object obj) {
    if (obj == null) return false;
    if (obj == this) return true;
    if (!(obj instanceof ArrayTest)) return false;
    ArrayTest o = (ArrayTest) obj;
    return o.i == this.i;
}

要么

public boolean equals(Object obj) {
    if (obj instanceof ArrayTest) {
        ArrayTest o = (ArrayTest) obj;
        return o.i == this.i;
    }
    return false;
}


 类似资料:
  • 问题内容: 我有一个包含一些对象的对象,例如,每个对象都有一个and 属性。如何从其中仅删除具有特定“名称” 的对象? 问题答案: 您可以使用如下形式:

  • 问题内容: 如果满足条件,我需要从中删除一些对象,我想知道哪种方法会更有效。 情况如下:我有一个包含包含其他一些对象的类。我必须对此进行迭代,并删除满足特定条件的所有元素。据我所知,这些是我要删除的选项: 创建一个新的并添加不符合条件的元素。迭代之后,从旧的数组列表交换到没有元素的新数组列表。 创建一个新的并添加满足条件的元素。迭代后,使用传递要删除对象的方法。 有没有更有效的方法从中删除对象?

  • 问题内容: 我有一个具有静态对象ArrayList的ClassA 现在,我要像这样从此列表中删除一个对象 这是用Meteorit类编写的。但是,当我想使用ArrayList中的对象时,它将引发异常。 我使用Iterator从ArrayList中删除对象,但是现在我不知道如何在这种情况下使用它。 问题答案: 这是因为某个线程实际上正在for每个循环中查看此列表,也许您正在尝试在for-each主体中

  • 我有一个arraylist,它包含一对整数(例如int i,int j)。但它可能包含重复对(如(int i,int j)和(int j,int i))。现在如何在O(n)时间复杂度中去除重复。

  • 这段代码运行良好,但我想知道它的性能,我指的是它的总体时间复杂度?

  • 问题内容: 我正在尝试从ArrayList中删除一个对象。每个Item对象都有3个属性;1. itemNum 2.信息3.费用。我也有3个类,即1。Item类定义了存储在目录中的单个项目。2. Catalog类维护Item对象的列表。3带main方法的客户端类。我在Set类中具有设置并获取,在Catalog中具有ArrayList。在客户端中,提示我“输入要删除的itemNum。如何基于对item