Apache Commons Collections-Bag 인터페이스

백을 지원하기 위해 새로운 인터페이스가 추가되었습니다. Bag은 개체가 컬렉션에 나타나는 횟수를 계산하는 컬렉션을 정의합니다. 예를 들어 Bag에 {a, a, b, c}가 포함 된 경우 getCount ( "a")는 2를 반환하고 uniqueSet ()는 고유 한 값을 반환합니다.

인터페이스 선언

다음은 org.apache.commons.collections4.Bag <E> 인터페이스에 대한 선언입니다.

public interface Bag<E>
   extends Collection<E>

행동 양식

가방 추론 방법은 다음과 같습니다.

Sr. 아니. 방법 및 설명
1

boolean add(E object)

(위반) 지정된 개체의 복사본 하나를 Bag에 추가합니다.

2

boolean add(E object, int nCopies)

지정된 개체의 nCopies 복사본을 Bag에 추가합니다.

boolean containsAll(Collection<?> coll)

(위반) 가방에 카디널리티를 고려하여 지정된 컬렉션의 모든 요소가 포함 된 경우 true를 반환합니다.

4

int getCount(Object object)

현재 bag에있는 지정된 객체의 발생 횟수 (카디널리티)를 반환합니다.

5

Iterator<E> iterator()

카디널리티로 인한 복사본을 포함하여 전체 구성원 집합에 대한 Iterator를 반환합니다.

6

boolean remove(Object object)

(위반) 가방에서 주어진 개체의 모든 발생을 제거합니다.

7

boolean remove(Object object, int nCopies)

Bag에서 지정된 개체의 nCopies 복사본을 제거합니다.

8

boolean removeAll(Collection<?> coll)

(위반) 카디널리티를 고려하여 주어진 컬렉션에 표시된 모든 요소를 ​​제거합니다.

9

boolean retainAll(Collection<?> coll)

(위반) 카디널리티를 고려하여 주어진 컬렉션에없는 가방의 구성원을 제거합니다.

10

int size()

모든 유형의 가방에있는 총 항목 수를 반환합니다.

11

Set<E> uniqueSet()

Bag의 고유 요소 집합을 반환합니다.

상속 된 메서드

이 인터페이스는 다음 인터페이스에서 메소드를 상속합니다.

  • java.util.Collection

백 인터페이스의 예

BagTester.java의 예는 다음과 같습니다.

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());
   }
}

산출

다음 출력이 표시됩니다.

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]