📜  从集合中删除特定元素的Java程序

📅  最后修改于: 2022-05-13 01:55:19.845000             🧑  作者: Mango

从集合中删除特定元素的Java程序

remove() 方法用于从集合中删除元素。它删除此列表中指定位置的元素。通过从它们的索引中减去 1 将任何后续元素向左移动。简单来说,remove() 方法用于通过删除值并返回相同的值来从列表中的特定索引中删除元素。

方法:在此方法上定义了两种标准方法,如下所示。

  1. 删除(整数索引)
  2. 删除(对象对象)

方法一: Java中List接口的remove(int index)方法,用于从List容器中取出指定索引处的元素,取出后返回该元素。它还将移除元素之后的元素在列表中向左移动 1 个位置。

语法

remove(int index)

参数:它需要一个 int 类型的参数作为遍历索引值,其中索引值是要从列表中删除的值。

返回类型:一个 ArrayList,其中一些元素已被删除。

例外:在处理指定大小的索引时,ArrayOutOfBounds 肯定会在两种情况下抛出

  • 任一索引提及是否定的
  • 提到的索引超出(更大)ArrayList 的索引

例子:

Java
// Java Program to Remove a Specific
// Element from a Collection
 
// Importing Java libraries
import java.util.List;
import java.util.ArrayList;
 
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating an ArrayList
        List al = new ArrayList<>();
 
        // Inserting % elements to it
        al.add(10);
        al.add(20);
        al.add(30);
        al.add(1);
        al.add(2);
 
        // If elements set is larger use
        // iteration in loops to insert element
 
        // Display ArrayList after insertion
        System.out.println("Original ArrayList : " + al);
 
        // Making 1st remove call
        // which throw 20 out of list
        al.remove(1);
       
        // Here ArrayList: 10 30 1 2
 
        // Making 2nd remove call
        // which throw 30 out of list
        al.remove(1);
        // Here ArrayList: 10 1 2
 
        // Printing modified Arraylist after deleting few
        // elements
        System.out.println("Modified ArrayList : " + al);
    }
}


Java
// Java program to demonstrate working of remove()
// method on an integer arraylist
 
// Importing specific libraries
import java.util.List;
import java.util.ArrayList;
 
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an ArrayList and
        // storing elements in list
        List al = new ArrayList<>();
 
        // Addition of elements to List
        al.add(10);
        al.add(20);
        al.add(30);
        al.add(1);
        al.add(2);
 
        // This makes a call to remove(Object) and
        // removes element 1
        al.remove(new Integer(1));
 
        // This makes a call to remove(Object) and
        // removes element 2
        al.remove(new Integer(2));
 
        // Printing modified ArrayList
        System.out.println("Modified ArrayList : " + al);
    }
}



输出
Original ArrayList : [10, 20, 30, 1, 2]
Modified ArrayList : [10, 1, 2]

方法二: Java中List接口的remove(Object obj)方法,用于从这个List中删除第一次出现的指定元素obj ,如果它存在于List中。

语法

boolean remove(Object obj)

参数:它接受一个 List 类型的单个参数obj ,它表示要从给定列表中删除的元素。

返回值:从 List 中删除第一次出现的指定元素后,它返回一个布尔值 True,否则如果该元素不存在于 List 中,则此方法将返回 False。

例子:

Java

// Java program to demonstrate working of remove()
// method on an integer arraylist
 
// Importing specific libraries
import java.util.List;
import java.util.ArrayList;
 
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an ArrayList and
        // storing elements in list
        List al = new ArrayList<>();
 
        // Addition of elements to List
        al.add(10);
        al.add(20);
        al.add(30);
        al.add(1);
        al.add(2);
 
        // This makes a call to remove(Object) and
        // removes element 1
        al.remove(new Integer(1));
 
        // This makes a call to remove(Object) and
        // removes element 2
        al.remove(new Integer(2));
 
        // Printing modified ArrayList
        System.out.println("Modified ArrayList : " + al);
    }
}

输出:

Modified ArrayList : [10, 20, 30]

注意有时它会抛出使用不推荐使用的函数调用或对象的警告。人们可以重新编译,以找出它发生的位置。通常,使用可能在下一个版本中消失的不推荐使用的库是一个坏主意。