在commons-collections中為我們提供了一些關于集合的實作,今天為大家介紹一下<code>bag</code>相關類的用法。
<code>bag</code>繼承自<code>collection</code>接口,定義了一個集合,該集合會記錄對象在集合中出現的次數。
假設你有一個包,包含{a, a, b, c}。調用getcount(a)方法将傳回2,調用uniqueset()方法将傳回{a, b, c}。
傳回值
方法名
說明
boolean
add(object object)
(違反)将指定的對象添加到該包中
add(object object, int ncopies)
将指定數量的對象添加到該包中
containsall(collection coll)
判斷包中是否含有集合中所有元素
int
getcount(object object)
獲得對象在包中的數量
iterator
iterator()
獲得包元素疊代器
remove(object object)
移除包中元素
remove(object object, int ncopies)
移除指定數量的包中的元素
removeall(collection coll)
移除包中包含的集合中的所有元素
retainall(collection coll)
删除包中不在集合中的元素
size()
獲得包中元素個數
set
uniqueset()
獲得包中唯一進制素集合(去重)
<code>hashbag</code>使用<code>hashmap</code>作為資料存儲,是一個标準的<code>bag</code>實作。
使用示例:
運作結果:
<code>包中元素為: s1 s1 s2 s2 s2 包中元素個數為:5 包中entity1個數為:2 去重後個數為:2</code>
<code>treebag</code>使用<code>treemap</code>作為資料存儲,用法與<code>hashbag</code>類似,隻是<code>treebag</code>會使用自然順序對元素進行排序。
<code>包中元素為: s1 s2 s3 包中元素個數為:3 包中entity1個數為:1 去重後個數為:3</code>
關于bag的更多内容,可以去官網檢視相關的幫助文檔。