Apache Common Java

import org.apache.commons.collections.Bag;
import org.apache.commons.collections.bag.HashBag;
import org.apache.commons.collections.bag.TreeBag;
import org.apache.commons.collections.TransformerUtils;
import org.apache.commons.collections.bag.TransformedBag;
import java.util.Arrays;
public class CookieBagV2 {
  private Bag cookieBag;
  private Bag sortedCookieBag;
  public static void main(String args[]) {
    CookieBagV2 app = new CookieBagV2();
    app.prepareBags();
    app.printBagContents();
    app.addRandomCookies();
    app.printBagContents();
  }
  private void printBagContents() {
    System.err.println("Cookie Bag Contents: " + cookieBag);
    System.err.println("Sorted Cookie Bag Contents: " + sortedCookieBag);
  }
  private void addRandomCookies() {
    int count = (int)(Math.random() * 10);
    int pick  = (int)(Math.random() * 10);
    pick = pick > 6 ? 6 : pick;
    if (count > 5) cookieBag.add(cookieJar[pick], count);
    else sortedCookieBag.add(cookieJar[pick], count);
  }
  private void prepareBags() {
    prepareCookieBag();
    prepareSortedCookieBag();
  }
  private void prepareCookieBag() {
    cookieBag =
      TransformedBag.decorate(
        new HashBag(Arrays.asList(cookieJar)),
        TransformerUtils.constantTransformer(cookieJar[2]));
    // cookieBag.addAll(Arrays.asList(cookieJar));
  }
  private void prepareSortedCookieBag() {
    sortedCookieBag = new TreeBag(Arrays.asList(cookieJar));
  }
  private String[] cookieJar =
    {"Bar", "Drop", "Brownies", "Cut Out", "Molded", "Sliced", "No Bake"};
}
           
       
ApacheCollectionCookieBagV2.zip( 514 k)