Làm cách nào để sử dụng loại bỏ trong bộ sưu tập trong Java?

Xóa một phiên bản của đối tượng đã chỉ định khỏi Bộ sưu tập này nếu có chứa một đối tượng (tùy chọn). Phần tử elem bị xóa tuân theo (object==null ? elem==null. vật. bằng (phần tử)

Các phương thức thu thập phổ biến

  • kích thước

    Trả về số phần tử trong bộ sưu tập này. Nếu bộ sưu tập này chứa nhiều hơn Số nguyên. TỐI ĐA

  • trình vòng lặp

    Trả về một iterator trên các phần tử trong bộ sưu tập này. Không có đảm bảo liên quan đến thứ tự

  • cộng
  • isEmpty

    Trả về true nếu bộ sưu tập này không chứa phần tử nào

  • chứa
  • toArray
  • dòng
  • thêm tất cả
  • cho mỗi
  • xa lạ
  • Xoá bỏ hết
  • chứaTất cả
  • Xoá bỏ hết,
  • chứaTất cả,
  • bằng,
  • Mã Băm,
  • giữ lạiTất cả,
  • loại bỏNếu,
  • song song,
  • bộ chia,

Phổ biến trong Java

  • Bắt đầu một ý định từ android
  • addToBackStack (Giao dịch phân đoạn)
  • getApplicationContext (Bối cảnh)
  • lịch trìnhAtFixedRate (Dịch vụ theo lịch trìnhExecutor)
  • Định dạng số (java. văn bản)

    Lớp cơ sở trừu tượng cho tất cả các định dạng số. Lớp này cung cấp giao diện để định dạng và

  • Hashtable (java. sử dụng)

    Một plug-in thay thế cho JDK1. 5 java. sử dụng. Hashtable. Phiên bản này dựa trên tổ chức. vách đá. high_scale

  • Danh sách (java. sử dụng)

    Một bộ sưu tập có thứ tự (còn được gọi là một chuỗi). Người dùng giao diện này có quyền kiểm soát chính xác đối với

  • StringTokenizer (java. sử dụng)

    Chia chuỗi thành các mã thông báo; . > // Mã kế thừa. chuỗi đến

  • ReentrantLock (java. sử dụng. đồng thời. khóa)

    Khóa loại trừ lẫn nhau được đăng nhập lại với hành vi và ngữ nghĩa cơ bản giống như màn hình ẩn

  • Bảng (org. ngủ đông. lập bản đồ)

    Một bảng quan hệ

  • Các plugin hàng đầu cho WebStorm

gói com. w3spoint; . sử dụng. Lập danh sách; . sử dụng. Thu thập; . sử dụng. Danh sách; . sử dụng. dòng. Nhà sưu tập; . thêm("Java"); . thêm ("C"); . thêm("C++"); . thêm("SQL"); . thêm ("PHP"); . ngoài. println("Trước khi xóa. "); Hệ thống. ngoài. println(môn học); . dòng(). bộ lọc (e ->. e. startedWith("S")). sưu tầm(Người sưu tập. liệt kê()); . ngoài. println("Sau khi xóa. "); Hệ thống. ngoài. println(filteredSubjects);

Có thể xóa một phần tử khỏi Bộ sưu tập bằng phương thức Iterator remove(). Phương pháp này loại bỏ phần tử hiện tại trong Bộ sưu tập. Nếu phương thức remove() không đứng trước phương thức next(), thì ngoại lệ IllegalStateException sẽ được ném ra

Một chương trình chứng minh điều này được đưa ra như sau

Ví dụ

Bản thử trực tiếp

import java.util.ArrayList;
import java.util.Iterator;
public class Demo {
   public static void main(String[] args) {
      ArrayList aList = new ArrayList();
      aList.add("Apple");
      aList.add("Mango");
      aList.add("Guava");
      aList.add("Orange");
      aList.add("Peach");
      System.out.println("The ArrayList elements are: ");
      for (String s: aList) {
         System.out.println(s);
      }
      Iterator i = aList.iterator();
      String str = "";
      while (i.hasNext()) {
         str = (String) i.next();
         if (str.equals("Orange")) {
            i.remove();
            System.out.println("
The element Orange is removed");             break;          }       }       System.out.println("
The ArrayList elements are: ");       for (String s: aList) {          System.out.println(s);       }    } }

đầu ra

Đầu ra của chương trình trên như sau

The ArrayList elements are:
Apple
Mango
Guava
Orange
Peach

The element Orange is removed

The ArrayList elements are:
Apple
Mango
Guava
Peach

Làm cách nào để sử dụng loại bỏ trong bộ sưu tập trong Java?


Làm cách nào để sử dụng loại bỏ trong bộ sưu tập trong Java?

Túi hoặc nhiều bộ (bộ sưu tập không có thứ tự có thể chứa các phần tử trùng lặp) nên triển khai trực tiếp giao diện này

Tất cả các lớp triển khai Bộ sưu tập có mục đích chung (thường triển khai Bộ sưu tập gián tiếp thông qua một trong các giao diện con của nó) phải cung cấp hai hàm tạo "tiêu chuẩn". một hàm tạo void (không có đối số), tạo ra một bộ sưu tập trống và một hàm tạo với một đối số duy nhất của loại Bộ sưu tập, tạo ra một bộ sưu tập mới có cùng các thành phần như đối số của nó. Trên thực tế, hàm tạo thứ hai cho phép người dùng sao chép bất kỳ bộ sưu tập nào, tạo ra một bộ sưu tập tương đương của loại triển khai mong muốn. Không có cách nào để thực thi quy ước này (vì các giao diện không thể chứa các hàm tạo) nhưng tất cả các triển khai Bộ sưu tập có mục đích chung trong các thư viện nền tảng Java đều tuân thủ

Các phương thức "phá hoại" có trong giao diện này, nghĩa là các phương thức sửa đổi tập hợp mà chúng hoạt động, được chỉ định để ném UnsupportedOperationException nếu tập hợp này không hỗ trợ hoạt động. Nếu trường hợp này xảy ra, các phương thức này có thể, nhưng không bắt buộc, ném ra một ngoại lệ UnsupportedOperationException nếu lệnh gọi sẽ không ảnh hưởng đến bộ sưu tập. Ví dụ: gọi phương thức addAll(Collection) trên một bộ sưu tập không thể sửa đổi có thể, nhưng không bắt buộc, ném ngoại lệ nếu bộ sưu tập được thêm vào trống

Một số triển khai bộ sưu tập có các hạn chế đối với các phần tử mà chúng có thể chứa. Ví dụ: một số triển khai cấm các phần tử null và một số triển khai có các hạn chế về loại phần tử của chúng. Việc cố gắng thêm một phần tử không đủ điều kiện sẽ tạo ra một ngoại lệ không được kiểm tra, điển hình là NullPulumException hoặc ClassCastException. Việc cố gắng truy vấn sự hiện diện của một phần tử không đủ điều kiện có thể đưa ra một ngoại lệ hoặc đơn giản là nó có thể trả về false; . Tổng quát hơn, việc cố gắng thao tác trên một phần tử không đủ điều kiện mà việc hoàn thành sẽ không dẫn đến việc chèn phần tử không đủ điều kiện vào bộ sưu tập có thể đưa ra một ngoại lệ hoặc nó có thể thành công, theo tùy chọn triển khai. Những trường hợp ngoại lệ như vậy được đánh dấu là "tùy chọn" trong thông số kỹ thuật cho giao diện này

Tùy thuộc vào từng bộ sưu tập để xác định chính sách đồng bộ hóa của riêng mình. Trong trường hợp không có sự đảm bảo mạnh mẽ hơn khi triển khai, hành vi không xác định có thể xảy ra do việc gọi bất kỳ phương thức nào trên bộ sưu tập đang bị thay đổi bởi một luồng khác;

Nhiều phương thức trong giao diện Collections Framework được định nghĩa theo phương thức equals. Ví dụ: đặc điểm kỹ thuật cho phương thức contains(Object o) cho biết. " trả về true khi và chỉ khi tập hợp này chứa ít nhất một phần tử e sao cho (o==null ? e==null. o. bằng (e)). " Thông số kỹ thuật này không nên được hiểu là ngụ ý rằng việc gọi Bộ sưu tập. chứa với một đối số không null o sẽ gây ra o. equals(e) được gọi cho bất kỳ phần tử e nào. Việc triển khai được tự do thực hiện các tối ưu hóa, theo đó tránh được lời gọi bằng, ví dụ, bằng cách so sánh mã băm của hai phần tử trước tiên. (Thông số kỹ thuật của Object.hashCode() đảm bảo rằng hai đối tượng có mã băm không bằng nhau không thể bằng nhau. ) Tổng quát hơn, việc triển khai các giao diện Khung bộ sưu tập khác nhau được tự do tận dụng hành vi được chỉ định của các phương thức Object cơ bản ở bất cứ nơi nào người triển khai cho là phù hợp

Một số thao tác bộ sưu tập thực hiện truyền tải đệ quy bộ sưu tập có thể không thành công, ngoại trừ các trường hợp tự tham chiếu trong đó bộ sưu tập trực tiếp hoặc gián tiếp chứa chính nó. Điều này bao gồm các phương pháp clone(), equals(), hashCode()

The ArrayList elements are:
Apple
Mango
Guava
Orange
Peach

The element Orange is removed

The ArrayList elements are:
Apple
Mango
Guava
Peach
0. Việc triển khai có thể tùy chọn xử lý tình huống tự tham chiếu, tuy nhiên hầu hết các triển khai hiện tại không làm như vậy

Làm cách nào để xóa mục khỏi bộ sưu tập trong Java?

Có thể xóa một phần tử khỏi Bộ sưu tập bằng cách sử dụng phương thức Iterator remove() . Phương pháp này loại bỏ phần tử hiện tại trong Bộ sưu tập. Nếu phương thức remove() không đứng trước phương thức next(), thì ngoại lệ IllegalStateException sẽ được ném ra. Một chương trình chứng minh điều này được đưa ra như sau.

Làm thế nào để sử dụng remove() trong Java?

phương thức remove(Object O) được sử dụng để xóa một phần tử cụ thể khỏi Tập hợp . Thông số. Tham số O thuộc loại phần tử được duy trì bởi Tập hợp này và chỉ định phần tử sẽ bị xóa khỏi Tập hợp. Giá trị trả về. Phương thức này trả về True nếu phần tử được chỉ định có trong Tập hợp nếu không nó trả về Sai.

Việc sử dụng remove() trong ArrayList là gì?

Sử dụng phương thức remove() của lớp ArrayList là cách nhanh nhất để xóa hoặc loại bỏ phần tử khỏi ArrayList . Nó cũng cung cấp hai phương thức quá tải, i. e. , xóa (int index) và xóa (Object obj).

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

Lớp ArrayList cung cấp hai phương thức remove() quá tải. .
Sử dụng phương thức remove() theo chỉ mục (mặc định)
Sử dụng phương thức remove() theo giá trị
Sử dụng phương thức remove() trên các trình vòng lặp