import java.util.*;
class SetTest
{
public static void test(Set x)
{
// Do a search:
Person p = new Person("Albert",1901,1,20);
if (x.contains(p))
System.out.println("Found " + p);
// Misc:
System.out.println("max == " +
Collections.max(x));
System.out.println("min == " +
Collections.min(x));
iterate(x);
}
public static void iterate(Collection c)
{
System.out.println("Iterating...");
Iterator i = c.iterator();
while (i.hasNext())
System.out.println(i.next());
}
public static void main(String[] args)
{
// Build HashSet:
HashSet h = new HashSet();
h.add(new Person("Horatio", 1835,12,6));
h.add(new Person("Charles",1897,3,11));
h.add(new Person("Albert",1901,1,20));
// The following is ignored:
h.add(new Person("Albert",1901,1,20));
System.out.println(h);
test(h);
System.out.println();
// Build TreeSet:
TreeSet t =
new TreeSet(Collections.reverseOrder());
t.addAll(h);
System.out.println(t);
test(t);
// Extra TreeSet stuff:
boolean ctest =
t.comparator()
.equals(Collections.reverseOrder());
System.out.println("Comparator test: " + ctest);
System.out.println("first = " + t.first());
System.out.println("last = " + t.last());
Person p = new Person("Charles",1897,3,11);
System.out.println("headSet: " + t.headSet(p));
System.out.println("tailSet: " + t.tailSet(p));
}
}
/* Output:
[{Charles,3/11/1897}, {Albert,1/20/1901}, {Horatio,12/6/1835}]
Found {Albert,1/20/1901}
max == {Horatio,12/6/1835}
min == {Albert,1/20/1901}
Iterating...
{Charles,3/11/1897}
{Albert,1/20/1901}
{Horatio,12/6/1835}
[{Horatio,12/6/1835}, {Charles,3/11/1897}, {Albert,1/20/1901}]
Found {Albert,1/20/1901}
max == {Horatio,12/6/1835}
min == {Albert,1/20/1901}
Iterating...
{Horatio,12/6/1835}
{Charles,3/11/1897}
{Albert,1/20/1901}
Comparator test: true
first = {Horatio,12/6/1835}
last = {Albert,1/20/1901}
headSet: [{Horatio,12/6/1835}]
tailSet: [{Charles,3/11/1897}, {Albert,1/20/1901}]
*/