package com.hhstuhacker.compatable;
import java.util.Arrays;
public class Test1
{
public static void main(String[] args)
{
Person p1 = new Person(45, "hacker");
Person p2 = new Person(23, "hacked");
Person p3 = new Person(34, "hhstuhacked");
Person[] personarr = { p1, p2, p3 };
Arrays.sort(personarr);
for (Person element : personarr)
{
System.out.println(element);
}
}
}
class Person implements Comparable<Person>
{
private int age;
private String name;
public Person(int age, String name)
{
this.age = age;
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
@Override
public int compareTo(Person o)
{
return o.getAge() - this.age;
}
@Override
public String toString()
{
return name + "-" + age;
}
}
package com.hhstuhacker.compatable;
import java.util.Arrays;
import java.util.Comparator;
public class Test2
{
public static void main(String[] args)
{
A a1 = new A(34, "hackerd");
A a2 = new A(56, "hhstuhacker");
A a3 = new A(45, "lahcker");
A[] a = { a1, a2, a3 };
Arrays.sort(a, new Comparator<A>()
{
@Override
public int compare(A o1, A o2)
{
return o1.getAge() - o2.getAge();
}
});
for (A element : a)
{
System.out.println(element);
}
}
}
class A
{
private int age;
private String name;
public A(int age, String name)
{
this.age = age;
this.name = name;
}
@Override
public String toString()
{
return this.name + "-" + this.age;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}