Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để xóa một phần tử khỏi ArrayList hoặc LinkedList trong Java?

Các lớp ArrayList và LinkedList triển khai giao diện Danh sách của java.util bưu kiện. Giao diện này cung cấp hai biến thể của remove () phương pháp xóa các phần tử cụ thể như được hiển thị bên dưới -

  • E remove (int index)

  • boolean remove (Đối tượng o) -

Sử dụng một trong các phương pháp này, bạn có thể xóa một phần tử mong muốn khỏi Danh sách hoặc, Danh sách liên kết trong Java.

E xóa (int index) - Phương thức này chấp nhận một số nguyên đại diện cho một vị trí cụ thể trong đối tượng List và loại bỏ phần tử tại vị trí đã cho. Nếu thao tác loại bỏ thành công, phương thức này trả về phần tử đã bị loại bỏ.

Nếu giá trị chỉ mục được truyền đến phương thức này nhỏ hơn 0 hoặc lớn hơn 1, thì một ngoại lệ IndexOutOfBoundsException sẽ được nâng lên.

Ví dụ

import java.util.ArrayList;
public class RemoveExample {
   public static void main(String[] args) {
      //Instantiating an ArrayList object
      ArrayList<String> arrayList = new ArrayList<String>();
      arrayList.add("JavaFX");
      arrayList.add("Java");
      arrayList.add("WebGL");
      arrayList.add("OpenCV");
      System.out.println("Contents of the Array List: "+arrayList);
      //Removing elements
      System.out.println("Elements removed: ");
      System.out.println(arrayList.remove(0));
      System.out.println(arrayList.remove(2));
      System.out.println(" ");
      //Instantiating an LinkedList object
      ArrayList<String> linkedList = new ArrayList<String>();
      linkedList.add("Krishna");
      linkedList.add("Satish");
      linkedList.add("Mohan");
      linkedList.add("Radha");
      System.out.println("Contents of the linked List: "+arrayList);
      //Removing elements
      System.out.println("Elements removed: ");
      System.out.println(linkedList.remove(0));
      System.out.println(linkedList.remove(2));
   }
}

Đầu ra

Contents of the Array List: [JavaFx, Java, WebGL, OpenCV]
Elements removed:
JavaFX
OpenCV

Contents of the linked List: [Java, WebGL]
Elements removed:
Krishna
Radha

boolean remove (Đối tượng o) - Phương thức này chấp nhận một đối tượng đại diện cho một phần tử trong Danh sách và loại bỏ vị trí xuất hiện đầu tiên của phần tử đã cho. Phương thức này trả về một giá trị boolean là -

  • true, nếu thao tác thành công.

  • false, nếu thao tác không thành công.

Ví dụ

import java.util.ArrayList;
public class RemoveExample {
   public static void main(String[] args) {
      //Instantiating an ArrayList object
      ArrayList<String> arrayList = new ArrayList<String>();
      arrayList.add("JavaFX");
      arrayList.add("Java");
      arrayList.add("WebGL");
      arrayList.add("OpenCV");
      System.out.println("Contents of the Array List: "+arrayList);
      //Removing elements
      System.out.println("Elements removed: ");
      System.out.println(arrayList.remove("JavaFX"));
      System.out.println(arrayList.remove("WebGL"));
      System.out.println("Contents of the array List after removing elements: "+arrayList);
      System.out.println(" ");
      //Instantiating an LinkedList object
      ArrayList<String> linkedList = new ArrayList<String>();
      linkedList.add("Krishna");
      linkedList.add("Satish");
      linkedList.add("Mohan");
      linkedList.add("Radha");
      System.out.println("Contents of the linked List: "+linkedList);
      //Removing elements
      System.out.println("Elements removed: ");
      System.out.println(linkedList.remove("Satish"));
      System.out.println(linkedList.remove("Mohan"));
      System.out.println("Contents of the linked List after removing elements: "+linkedList);
   }
}

Đầu ra

Contents of the Array List: [JavaFX, Java, WebGL, OpenCV]
Elements removed:
true
true
Contents of the array List after removing elements: [Java, OpenCV]

Contents of the linked List: [Krishna, Satish, Mohan, Radha]
Elements removed:
true
true
Contents of the linked List after removing elements: [Krishna, Radha]

Phương thức remove () của đối tượng Iterator

Ngoài hai phương pháp này, bạn cũng có thể xóa các phần tử của các đối tượng LinkedList hoặc ArrayList bằng cách sử dụng remove () của lớp Iterator.

Ví dụ

import java.util.ArrayList;
import java.util.Iterator;
public class RemoveExample {
   public static void main(String[] args) {
      //Instantiating an ArrayList object
      ArrayList<String> arrayList = new ArrayList<String>();
      arrayList.add("JavaFX");
      arrayList.add("Java");
      arrayList.add("WebGL");
      arrayList.add("OpenCV");
      System.out.println("Contents of the Array List: "+arrayList);
      //Retrieving the Iterator object
      Iterator<String> it1 = arrayList.iterator();
      it1.next();
      it1.remove();
      System.out.println("Contents of the array List after removing elements: ");
      while(it1.hasNext()) {
         System.out.println(it1.next());
      }
      //Instantiating an LinkedList object
      ArrayList<String> linkedList = new ArrayList<String>();
      linkedList.add("Krishna");
      linkedList.add("Satish");
      linkedList.add("Mohan");
      linkedList.add("Radha");
      System.out.println("Contents of the linked List: "+linkedList);
      //Retrieving the Iterator object
      Iterator<String> it2 = linkedList.iterator();
      it2.next();
      it2.remove();
      System.out.println("Contents of the linked List after removing elements: ");
      while(it2.hasNext()) {
         System.out.println(it2.next());
      }
   }
}

Đầu ra

Contents of the Array List: [JavaFX, Java, WebGL, OpenCV]
Contents of the array List after removing elements:
Java
WebGL
OpenCV
Contents of the linked List: [Krishna, Satish, Mohan, Radha]
Contents of the linked List after removing elements:
Satish
Mohan
Radha