D5 : Bag:有序和無序,統計次數

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
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章