Source of TestElementOrderInSetsOfIntegers.java


  1: //TestElementOrderInSetsOfIntegers.java

  3: import static java.lang.System.out;
  4: import java.util.Arrays;
  5: import java.util.Collections;
  6: import java.util.HashSet;
  7: import java.util.Set;
  8: import java.util.TreeSet;

 10: public class TestElementOrderInSetsOfIntegers
 11: {
 12:     public static void main(String[] args)
 13:     {
 14:         Integer[] numbers = { 321, 25, 4782, 6, 631 };

 16:         Set<Integer> hashSet = new HashSet<Integer>();
 17:         for (int i = 0; i < numbers.length; i++)
 18:         {
 19:             hashSet.add(numbers[i]);
 20:         }
 21:         out.println(hashSet);
 22:         out.println(Collections.min(hashSet));
 23:         out.println
 24:         (
 25:             Collections
 26:             .min(hashSet, (a, b) -> Integer
 27:                  .toString(a)
 28:                  .compareTo(Integer.toString(b)))
 29:         );
 30:         out.println(Collections.max(hashSet));
 31:         out.println
 32:         (
 33:             Collections
 34:             .max(hashSet, (a, b) -> Integer
 35:                  .toString(a)
 36:                  .compareTo(Integer.toString(b)))
 37:         );
 38:         for (Integer s : hashSet)
 39:         {
 40:             out.print(s + " ");
 41:         }
 42:         out.println("\n");

 44:         Set<Integer> treeSet = new TreeSet<Integer>(Arrays.asList(numbers));
 45:         //Note that in the above line we cannot just use "numbers" by itself.
 46:         //We could just do as we did above, with the following line:
 47:         //for (int i=0; i<numbers.length; i++) treeSet.add(numbers[i]);
 48:         out.println(treeSet);
 49:         out.println(Collections.min(treeSet));
 50:         out.println
 51:         (
 52:             Collections
 53:             .min(treeSet, (a, b) -> Integer
 54:                  .toString(a)
 55:                  .compareTo(Integer.toString(b)))
 56:         );
 57:         out.println(Collections.max(treeSet));
 58:         out.println
 59:         (
 60:             Collections
 61:             .max(treeSet, (a, b) -> Integer
 62:                  .toString(a)
 63:                  .compareTo(Integer.toString(b)))
 64:         );
 65:         for (Integer s : treeSet)
 66:         {
 67:             out.print(s + " ");
 68:         }
 69:         out.println();
 70:     }
 71: }
 72: /*  Output:
 73:     [321, 6, 631, 25, 4782]
 74:     6
 75:     25
 76:     4782
 77:     631
 78:     321 6 631 25 4782

 80:     [6, 25, 321, 631, 4782]
 81:     6
 82:     25
 83:     4782
 84:     631
 85:     6 25 321 631 4782
 86: */