新的界面被添加到支持包. Bag定义了一个集合,用于计算对象在集合中出现的次数.例如,如果Bag包含{a,a,b,c},则getCount("a")将返回2,而uniqueSet()将返回唯一值.
public interface Bag<E>
extends Collection<E>
Sr.No. | Method&说明 |
---|---|
1 | boolean add(E object) (违规)将指定对象的一个副本添加到Bag. |
2 | boolean add(E object,int nCopies) 将指定对象的nCopies副本添加到Bag. |
3 | boolean containsAll(Collection<?> coll) (Violation)如果包中包含给定集合中的所有元素,则返回true,尊重基数. |
4 | int getCount(对象对象) 返回出现次数(当前在包中的给定对象的基数. |
5 | 迭代器< E> iterator() 返回整个成员集的迭代器,包括由于基数而产生的副本. |
6 | 布尔删除(对象对象) (违规)从包中删除所有出现的给定对象. |
7 | boolean remove(Object object,int nCopies) 删除nCopies来自Bag的指定对象的副本. |
8 | boolean removeAll(Collection<?> coll) (违规)删除给定集合中表示的所有元素,尊重基数. |
9 | boolean retainAll(Collection<?> coll) (违规)删除不在给定集合中的所有行李成员,尊重基数. |
10 | int size() 返回的项目总数所有类型的包. |
11 | 设置< E - 代替; uniqueSet() 返回包中的一组唯一元素. |
此接口继承以下接口的方法 :
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]