Apache Commons Collections - Giao diện túi

Giao diện mới được thêm vào túi đỡ. Túi xác định một bộ sưu tập, đếm số lần một đối tượng xuất hiện trong bộ sưu tập. Ví dụ: nếu một Túi chứa {a, a, b, c} thì getCount ("a") sẽ trả về 2 trong khi uniqueSet () trả về các giá trị duy nhất.

Khai báo giao diện

Sau đây là khai báo cho giao diện org.apache.commons.collections4.Bag <E> -

public interface Bag<E>
   extends Collection<E>

Phương pháp

Các phương pháp suy luận túi như sau:

Sr.No. Phương pháp & Mô tả
1

boolean add(E object)

(Vi phạm) Thêm một bản sao của đối tượng được chỉ định vào Túi.

2

boolean add(E object, int nCopies)

Thêm các bản sao nCopies của đối tượng được chỉ định vào Túi.

3

boolean containsAll(Collection<?> coll)

(Vi phạm) Trả về true nếu túi chứa tất cả các phần tử trong bộ sưu tập đã cho, tôn trọng số lượng.

4

int getCount(Object object)

Trả về số lần xuất hiện (số lượng) của đối tượng đã cho hiện có trong túi.

5

Iterator<E> iterator()

Trả về một Iterator trên toàn bộ tập hợp các thành viên, bao gồm cả các bản sao do số lượng.

6

boolean remove(Object object)

(Vi phạm) Loại bỏ tất cả các lần xuất hiện của đối tượng đã cho khỏi túi.

7

boolean remove(Object object, int nCopies)

Xóa các bản sao nCopies của đối tượng được chỉ định khỏi Túi.

số 8

boolean removeAll(Collection<?> coll)

(Vi phạm) Xóa tất cả các phần tử được đại diện trong bộ sưu tập đã cho, tôn trọng số lượng.

9

boolean retainAll(Collection<?> coll)

(Vi phạm) Loại bỏ bất kỳ thành viên nào của túi không có trong bộ sưu tập đã cho, tôn trọng số lượng.

10

int size()

Trả về tổng số mục trong túi trên tất cả các loại.

11

Set<E> uniqueSet()

Trả về một Tập hợp các phần tử duy nhất trong Túi.

Phương thức được kế thừa

Giao diện này kế thừa các phương thức từ giao diện sau:

  • java.util.Collection

Ví dụ về giao diện túi

Ví dụ về BagTester.java như sau:

import org.apache.commons.collections4.Bag;
import org.apache.commons.collections4.bag.HashBag;
public class BagTester {
   public static void main(String[] args) {
      Bag<String> bag = new HashBag<>();
      //add "a" two times to the bag.
      bag.add("a" , 2);
      //add "b" one time to the bag.
      bag.add("b");
      //add "c" one time to the bag.
      bag.add("c");
      //add "d" three times to the bag.
      bag.add("d",3
      //get the count of "d" present in bag.
      System.out.println("d is present " + bag.getCount("d") + " times.");
      System.out.println("bag: " +bag);
      //get the set of unique values from the bag
      System.out.println("Unique Set: " +bag.uniqueSet());
      //remove 2 occurrences of "d" from the bag
      bag.remove("d",2);
      System.out.println("2 occurences of d removed from bag: " +bag);
      System.out.println("d is present " + bag.getCount("d") + " times.");
      System.out.println("bag: " +bag);
      System.out.println("Unique Set: " +bag.uniqueSet());
   }
}

Đầu ra

Bạn sẽ thấy kết quả sau:

d is present 3 times.
bag: [2:a,1:b,1:c,3:d]
Unique Set: [a, b, c, d]
2 occurences of d removed from bag: [2:a,1:b,1:c,1:d]
d is present 1 times.
bag: [2:a,1:b,1:c,1:d]
Unique Set: [a, b, c, d]