Bag Interface
1. Bag Interface (Apache Commons Collections)
Bag은 객체가 컬렉션에 나타나는 횟수를 카운트하는 컬렉션을 정의한다.
예를 들어 Bag에 {a, a, b, c}
가 포함되어 있으면 getCount("a")
는 2를 반환하고 uniqueSet()
은 고유한 값을 반환한다.
1) 선언
org.apache.commons.collections4.Bag
1
public interface Bag<E> extends Collection<E>
2) Methods
Method | Description |
---|---|
boolean add(E object) | (Violation) 지정한 개체의 복사본을 Bag에 추가한다. |
boolean add(E object, int nCopies) | 지정한 개체의 복사본을 Bag에 추가한다. |
boolean containsAll(Collection<?> coll) | (Violation) 지정된 컬렉션에 있는 모든 요소가 Bag에 포함된 경우 카디널리티에 따라 true를 반환한다. |
int getCount(Object object) | 현재 Bag에 있는 지정된 개체의 발생 횟수(카디널리티)를 반환한다. |
Iterator<E> iterator() | 카디널리티로 인한 복사본을 포함하여 전체 구성원 집합에 대해 반복자를 반환한다. |
boolean remove(Object object) | (Violation) 지정한 개체의 모든 항목을 Bag에서 제거한다. |
boolean remove(Object object, int nCopies) | 지정한 개체의 nCopies 복사본을 Bag에서 제거한다. |
boolean removeAll(Collection<?> coll) | (Violation) 카디널리티와 관련하여 지정된 컬렉션에 표시된 모든 요소를 제거한다. |
boolean retainAll(Collection<?> coll) | (Violation) 지정된 컬렉션에 없는 Bag의 구성원은 카디널리티에 따라 모두 제거한다. |
int size() | 모든 유형의 Bag에 있는 총 항목 수를 반환한다. |
Set<E> uniqueSet() | Bag에 있는 고유 요소 집합을 반환한다. |
3) Bag Interface 예제
- 예제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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());
}
}
- 결과
1
2
3
4
5
6
7
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]
[출처 및 참고]
This post is licensed under CC BY 4.0 by the author.