package com.discursive.cjcook.guava.collect; import java.io.PrintStream; import java.io.PrintWriter; import java.util.Set; import com.google.common.collect.HashMultiset; import com.google.common.collect.Multiset; import com.google.common.collect.TreeMultiset; import com.google.common.collect.Multiset.Entry; public class MultisetsExample { public static void main(String args[]) { PrintStream out = System.out; Multiset<String> multiset = HashMultiset.create(); multiset.add("Red Ball", 5); multiset.add("Yellow Ball", 10); multiset.add("Blue Ball", 20); out.printf("Multiset #1: %s\n", multiset); out.printf("Multiset #1 contains a Red Ball? %s\n", multiset .contains("Red Ball")); out.println("Removing Five Red Balls from Multiset #1\n"); multiset.remove("Red Ball", 5); out.printf("Multiset contains a Red Ball? %s\n", multiset .contains("Red Ball")); Multiset<String> multiset2 = TreeMultiset.create(); multiset2.add("Blue Ball", 20); multiset2.add("Yellow Ball", 10); out.printf("\nMultiset #1: %s", multiset); out.printf("\nMultiset #2: %s", multiset2); out.printf("\nMultiset #1 and #2 are equal? %s", multiset .equals(multiset2)); out.println("\n\nRemoving One Blue Ball from multiset2"); multiset2.remove("Blue Ball"); out.printf("\nMultiset #1: %s", multiset); out.printf("\nMultiset #2: %s", multiset2); out.printf("\nMultiset #1 and #2 are equal? %s", multiset .equals(multiset2)); } }