程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java中幾種排序實現代碼

java中幾種排序實現代碼

編輯:關於JAVA
 

第一種: 冒泡排序

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();
}
}

}
 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved