commons包裏面的Bag類,可以實現數組的有序和無序封裝,並對內容做統計判斷。代碼依賴Jar包:commons-collections4-4.0-alpha1.jar
import java.util.Iterator;
import java.util.Set;
import org.apache.commons.collections4.Bag;
import org.apache.commons.collections4.bag.HashBag;
import org.apache.commons.collections4.bag.TreeBag;
//commons-collections4-4.0-alpha1.jar
public class BagDemo {
public static void main(String[] args) {
treeBag();
hashBag();
uniqueSet();
}
/**有序*/
public static void treeBag(){
System.out.println("=====有序的包====");
Bag<String> bag =new TreeBag<String>();
bag.add("a");
bag.add("a",5);
bag.remove("a", 2);
bag.add("b");
bag.add("c");
Iterator<String> it =bag.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
/**無序*/
public static void hashBag(){
System.out.println("=====無序的包====");
Bag<String> bag =new HashBag<String>();
bag.add("a");
bag.add("a",5);
bag.remove("a", 2);
bag.add("b");
bag.add("c");
Iterator<String> it =bag.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
/**統計次數*/
public static void uniqueSet(){
String str ="this is a cat and that is a mice where is the food";
String[] strArray =str.split(" ");
Bag<String> bag =new TreeBag<String>();
for(String temp:strArray){
bag.add(temp);
}
System.out.println("====統計次數===");
Set<String> keys =bag.uniqueSet();
for(String letter:keys){
System.out.print(letter+":"+bag.getCount(letter));
}
//a:2,and:1,cat:1,food:1,is:3,mice:1,that:1,the:1,this:1,where:1
}
}