public class TestElementOrderInSetsOfIntegers
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: */