第一種: 冒泡排序
public static void main(String[] args) {
//定義一個數組
int[] a={10,15,19,11,14,16,21,23,16,18,19};
//排序
for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-i-1;j++){
if(a[j]<a[j+1]){
int b=a[j];
a[j]=a[j+1];
a[j+1]=b;
}
}
}
//輸出
for(int i=0;i<a.length;i++){
System.out.print(a[i]+"\t");
}
}
第二種: 對一個對象安某個屬性排序
1.寫一個bean,讓它實現comparable接口,並且實現它中的compareTo方法
如下:
public class person implements Comparable{
private String name;
private int 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;
}
public int compareTo(Object o) {
person per=(person)o;
if(per.getAge()<this.getAge()){
return -1;
}
return 1;
}
}
public class PerSort {
//定義一個靜態集合
private static List list=new ArrayList();
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PerSort s=new PerSort();
//添加一些數據
s.add();
//將一個集合轉化為數組,對於list如查不轉化的話,是不會對它排序的,對於set,不用再定義一個變量
//如list要這樣
// Object[] pers=list.toArray();//先定入一個數組,將list轉化成數組
// Arrays.sort(pers);
//而 set只用
//Set set=new HashSet();
//Arrays.sort(set.toArray());
Object[] pers=list.toArray();
Arrays.sort(pers);
s.show(pers);
}
public void add(){
for(int i=0;i<10;i++){
person per=new person();
per.setName("張"+i);
per.setAge(i+10);
list.add(per);
}
}
public void show(Object[] ob){
for(int i=0;i<ob.length;i++){
person per=(person)ob[i];
System.out.print(per.getName()+" "+per.getAge());
System.out.println();
}
}
}