Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从ArrayList中删除元素_Java_Arraylist - Fatal编程技术网

Java 从ArrayList中删除元素

Java 从ArrayList中删除元素,java,arraylist,Java,Arraylist,我必须从ArrayList中删除元素,但我还没有完成。我必须删除的元素也可以在ArrayList中找到。简而言之,我必须从另一个数组列表中删除一个数组列表。e、 假设 ArrayList<String> arr1= new ArrayList<String>(); ArrayList<String> arr2 = new ArrayList<String>(); arr1.add("1"); arr1.add("2"); arr1.add("3

我必须从
ArrayList
中删除元素,但我还没有完成。我必须删除的元素也可以在
ArrayList
中找到。简而言之,我必须从另一个数组列表中删除一个数组列表。e、 假设

ArrayList<String> arr1= new ArrayList<String>();
ArrayList<String> arr2 = new ArrayList<String>();
arr1.add("1"); 
arr1.add("2"); 
arr1.add("3"); 

arr2.add("2"); 
arr2.add("4"); 
ArrayList arr1=new ArrayList();
ArrayList arr2=新的ArrayList();
arr1.添加(“1”);
arr1.添加(“2”);
arr1.添加(“3”);
arr2.添加(“2”);
arr2.添加(“4”);
现在,我必须从arr1中删除arr2中的元素。最后的答案是1和3。 需要做什么?

阅读


使用下面的代码

List<String> resultArrayList = new ArrayList<String>(arr1);
resultArrayList.removeAll(arr2);

在发表评论之后

我使用了以下代码

ArrayList<String> arr1= new ArrayList<String>();
        ArrayList<String> arr2 = new ArrayList<String>();
        arr1.add("1"); 
        arr1.add("2"); 
        arr1.add("3"); 

        arr2.add("2"); 
        arr2.add("4"); 

        System.out.println("Before removing---");
        System.out.println("Array1 : " + arr1);
        System.out.println("Array2 : " + arr2);
        System.out.println("Removing common ---");
        List<String> resultArrayList = new ArrayList<String>(arr1);
        resultArrayList.removeAll(arr2);                
        System.out.println(resultArrayList);
那么,在你这边,什么是不起作用的呢

阅读更多关于

阅读


使用下面的代码

List<String> resultArrayList = new ArrayList<String>(arr1);
resultArrayList.removeAll(arr2);

在发表评论之后

我使用了以下代码

ArrayList<String> arr1= new ArrayList<String>();
        ArrayList<String> arr2 = new ArrayList<String>();
        arr1.add("1"); 
        arr1.add("2"); 
        arr1.add("3"); 

        arr2.add("2"); 
        arr2.add("4"); 

        System.out.println("Before removing---");
        System.out.println("Array1 : " + arr1);
        System.out.println("Array2 : " + arr2);
        System.out.println("Removing common ---");
        List<String> resultArrayList = new ArrayList<String>(arr1);
        resultArrayList.removeAll(arr2);                
        System.out.println(resultArrayList);
那么,在你这边,什么是不起作用的呢


阅读更多关于

将新的
arr
作为最终排序数组

for(int i=0;i<arr1.size();i++)
    {
    for(int j=0;j<arr2.size();j++)
    if(!arr1.get(i).contains(arr2.get(j)))
    {
    arr.add(arr1.get(i));
    }
    }

for(int i=0;i采用新的
arr
作为最终排序数组

for(int i=0;i<arr1.size();i++)
    {
    for(int j=0;j<arr2.size();j++)
    if(!arr1.get(i).contains(arr2.get(j)))
    {
    arr.add(arr1.get(i));
    }
    }
for(int i=0;i可以使用removeAll()函数

/**
*从该列表中删除包含在
*指定的集合。
*
*@param c集合包含要从此列表中删除的元素
*@return{@code true}如果此列表因调用而更改
*如果此列表中某个元素的类
*与指定的集合不兼容
* ()
*如果此列表包含null元素且
*指定的集合不允许空元素
* (),
*或者如果指定的集合为空
*@see Collection#contains(对象)
*/
公共布尔removeAll(集合c){
返回(c,false);
}
您可以使用removeAll()函数

/**
*从该列表中删除包含在
*指定的集合。
*
*@param c集合包含要从此列表中删除的元素
*@return{@code true}如果此列表因调用而更改
*如果此列表中某个元素的类
*与指定的集合不兼容
* ()
*如果此列表包含null元素且
*指定的集合不允许空元素
* (),
*或者如果指定的集合为空
*@see Collection#contains(对象)
*/
公共布尔removeAll(集合c){
返回(c,false);
}

要从其他文件中删除其中一个文件的副本,请使用此

    int arr1Size = arr2.size();
    int arr2Size = arr2.size();
    for (int i = 0; i < arr1Size; i++)
    {
        for (int j = 0; j < arr2Size; j++)
        {
            if (arr1.get(i).contains(arr2.get(j)))
            {
                arr1.remove(i);
            }
        }
    }
    System.out.print(arr1);
int arr1Size=arr2.size();
int arr2Size=arr2.size();
对于(int i=0;i
要从其他文件中删除其中一个文件的副本,请使用此

    int arr1Size = arr2.size();
    int arr2Size = arr2.size();
    for (int i = 0; i < arr1Size; i++)
    {
        for (int j = 0; j < arr2Size; j++)
        {
            if (arr1.get(i).contains(arr2.get(j)))
            {
                arr1.remove(i);
            }
        }
    }
    System.out.print(arr1);
int arr1Size=arr2.size();
int arr2Size=arr2.size();
对于(int i=0;i
要澄清问题,请确定:

如果您的列表由基本元素组成,如字符串等 你所需要做的就是使用它

list2.removeAll(list1);
假设情况并非如此,这意味着您从custum对象创建了一个列表——由于项目比较的性质,上述方法无法工作。 它使用object.equals方法,默认情况下,该方法检查这是否是另一个列表中对象的同一实例(可能不是)

因此,为了使其正常工作,您需要覆盖自定义object equals方法

示例-根据电话号码测试两个联系人是否相同:

public boolean equals(Object o) 
    {
        if (o==null)
        {
            return false;
        }

        if (o.getClass()!=this.getClass())
        {
            return false;
        }

        Contact c=(Contact)o;
        if (c.get_phoneNumber().equals(get_phoneNumber()))
        {
            return true;    
        }

        return false;
    }
现在如果你使用

list2.removeAll(list1);

它将根据所需属性(在示例中是基于电话号码)比较项目,并将按计划工作。

确定以澄清问题:

如果您的列表由基本元素组成,如字符串等 你所需要做的就是使用它

list2.removeAll(list1);
假设情况并非如此,这意味着您从custum对象创建了一个列表——由于项目比较的性质,上述方法无法工作。 它使用object.equals方法,默认情况下,该方法检查这是否是另一个列表中对象的同一实例(可能不是)

因此,为了使其正常工作,您需要覆盖自定义object equals方法

示例-根据电话号码测试两个联系人是否相同:

public boolean equals(Object o) 
    {
        if (o==null)
        {
            return false;
        }

        if (o.getClass()!=this.getClass())
        {
            return false;
        }

        Contact c=(Contact)o;
        if (c.get_phoneNumber().equals(get_phoneNumber()))
        {
            return true;    
        }

        return false;
    }
现在如果你使用

list2.removeAll(list1);

它将根据所需的属性(在示例中基于电话号码)比较项目并且将按计划工作。

为每个arraylist使用两个循环,一个循环在另一个循环中。编写一些代码。可能阅读一点文档会有帮助。为每个arraylist使用两个循环,一个循环在另一个循环中。编写一些代码。可能阅读一点文档会有帮助helpful@AnilBhatiya查看我更新的代码片段,并告诉我哪些不是正在工作..然后共享您的代码..嘿,让我告诉你,我从其他活动获取了两个数组列表。意味着数组列表来自一个活动(如A)到第二个活动(如B)。我将获取生成的数组输出日志中的所有元素,以确保获得正确的数组值。不…仍然存在问题。尝试了不同的方法来解决此问题求解,但结果为零…@AnilBhatiya查看我更新的代码片段并告诉我什么不起作用..然后共享您的代码..嘿,让我告诉你,我从其他活动中获取两个数组列表。意味着数组列表来自一个活动(如A)到第二个活动(如B)。我将获取结果数组输出日志中的所有元素,以确保u得到了正确的数组值。不…仍然存在问题。尝试了不同的方法来解决,但结果为零。。。