//TestElementOrderInSetsOfStrings.java

import static java.lang.System.out;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;

public class TestElementOrderInSetsOfStrings
{
    public static void main(String[] args)
    {
        String[] coins = { "Penny", "nickel", "dime", "Quarter", "dollar" };

        Set<String> hashSet = new HashSet<String>();
        for (int i = 0; i < coins.length; i++)
        {
            hashSet.add(coins[i]);
        }
        out.println(hashSet);
        out.println(Collections.min(hashSet));
        out.println(Collections.min(hashSet, String.CASE_INSENSITIVE_ORDER));
        out.println(Collections.max(hashSet));
        out.println(Collections.max(hashSet, String.CASE_INSENSITIVE_ORDER));
        for (String s : hashSet)
        {
            out.print(s + " ");
        }
        out.println("\n");

        Set<String> treeSet = new TreeSet<String>();
        for (int i = 0; i < coins.length; i++)
        {
            treeSet.add(coins[i]);
        }
        out.println(treeSet);
        out.println(Collections.min(treeSet));
        out.println(Collections.min(treeSet, String.CASE_INSENSITIVE_ORDER));
        out.println(Collections.max(treeSet));
        out.println(Collections.max(treeSet, String.CASE_INSENSITIVE_ORDER));
        for (String s : treeSet)
        {
            out.print(s + " ");
        }
        out.println();
    }
}
/*  Output:
    [Quarter, nickel, Penny, dime, dollar]
    Penny
    dime
    nickel
    Quarter
    Quarter nickel Penny dime dollar

    [Penny, Quarter, dime, dollar, nickel]
    Penny
    dime
    nickel
    Quarter
    Penny Quarter dime dollar nickel
*/

