Create an interface called Sortable in a package called sortPack. It should have one method compare which takes an Object as a parameter and returns an integer. In the same package create a class called Sort with a static method called sortAny which takes a Sortable array as a parameter. It sorts the array using the compare method in Sortable.
Create a class called NewPerson which implements Sortable and give the concrete implementation of the compare method.
In another class write a main to use the above sort utility.
1 package sortPack; 2 3 interface Sortable { 4 int compare(Object o); 5 }
1 package sortPack; 2 3 public class NewPerson implements Sortable { 4 int ID; 5 6 public NewPerson(int ID) { 7 this.ID = ID; 8 } 9 10 public int getID() { 11 return ID; 12 } 13 14 public int compare(Object o) { 15 int res = 1; 16 17 if (this.ID > ((NewPerson) o).ID) 18 return 0; 19 return res; 20 } 21 22 }
1 package sortPack; 2 3 import java.util.Arrays; 4 5 public class Sort { 6 7 static void sortAny (Sortable arr[]){ 8 Sortable temp; 9 for(int i=0;i<arr.length-1;i++){ 10 for(int j=i+1;j<arr.length;j++){ 11 if((arr[i]).compare(arr[j])==0){ 12 temp=arr[i]; 13 arr[i]=arr[j]; 14 arr[j]=temp; 15 } 16 } 17 } 18 19 } 20 }
1 package sortPack; 2 3 public class TestSort { 4 5 public static void main(String[] args) { 6 7 NewPerson[] person = { new NewPerson(123), 8 new NewPerson(128), 9 new NewPerson(111), 10 new NewPerson(121), 11 new NewPerson(113), 12 new NewPerson(101), 13 new NewPerson(116) }; 14 System.out.println("Before Sort:"); 15 for(NewPerson per:person){ 16 System.out.print(per.getID()+" "); 17 } 18 Sort.sortAny(person); 19 20 System.out.println("\nAfter Sort:"); 21 for(NewPerson per:person){ 22 System.out.print(per.getID()+" "); 23 } 24 25 } 26 27 }
原文:http://www.cnblogs.com/thrive/p/3892317.html