如何利用實作Interface Comparator來sort, binaySearch
import java.util.*;
import java.util.Arrays;
class student
{
String name;
int number;
student(String name, int number)
{
this.name=name;
this.number=number;
}
void printData()
{
System.out.print(name+'\t');
System.out.println(number);
}
}
class studentComparator implements Comparator<student> {
public int compare(student X1, student X2)
{
return X1.number-X2.number;
}
}
class SortStudent{
public static void main(String argv[]){
student X[]=new student[10];
for (int i=0; i<=9; i++)
{
X[i]=new student("學生"+i, (int)(100*Math.random()));
X[i].printData();
}
studentComparator C=new studentComparator();
Arrays.sort(X, C);
System.out.println("排序後");
for (int i=0; i<=9; i++)
{
X[i].printData();
}
student key=new student("學生"+0,50);
System.out.println(Arrays.binarySearch(X,key,C));
}
}
//http://download.oracle.com/javase/6/docs/api/java/util/Arrays.html
//http://download.oracle.com/javase/6/docs/api/java/util/Comparator.html
herrDeng網內搜尋
自訂搜尋
Ads
熱門文章
-
array ex 1, 2,3,7,8
-
統計第一作業 2, 3, 8, 9
-
請問如何用C/C++程式產生下列輸出? 1111111 2222222 3333333 4444444 5555555 6666666 7777777
-
GCD(123456789,345634567)=?
-
明文=I'm student key=(2,15,8) 密文=?
-
請用CPU-Z軟體檢測Cache & Memory 註:快取(L1-L3: SRAM) 第一級快取(L1)–通常存取只需要幾個週期,通常是幾十個KB。 第二級快取(L2)–比L1約有2到10倍較高延遲性,通常是幾百個KB或更多。 第三級快取(L3)(不...
-
C字串練習 字串 char word[]="You win!"; 輸出為: You win! You win You wi You w You You Yo Y 給進階使用者: gets () 是個危險的函式!
-
輸出字串20次
-
列印課表數字代碼矩陣,以及代碼的課名 提示: 參考此連結