數(shù)組排序
comparable<T>
使用Comparable<父類(lèi)名>
1.先將comparable導(dǎo)入
2.使用crtl+1創(chuàng)建比較方法
3.比較的邏輯運(yùn)算(默認(rèn)升序排列):當(dāng)前的員工-另一個(gè)員工,進(jìn)行兩兩比較
4.將員工的數(shù)據(jù)實(shí)力化,然后將比較的方法導(dǎo)入到主方法中,在將數(shù)組進(jìn)行遍歷
comparator<T>
1.先建立比較的class的文件
2.在class的文件中使用implement繼承接口comparator
3.使用CETL+1創(chuàng)建比較的方法
4.將員工的工資進(jìn)行比較,因?yàn)閱T工的工資是封裝的,所以說(shuō)要根據(jù)get函數(shù)來(lái)獲取員工的工資
5.在主函數(shù)中進(jìn)行collections導(dǎo)入比較方法,進(jìn)行比較
6.打印出比較的的升序結(jié)果
import java.util.Comparator;
import Day12.Emp;
public class Myclass implements Comparator<Emp> {
@Override
public int compare(Emp arg0, Emp arg1) {
// TODO Auto-generated method stub
if(arg0.getSalary()>arg1.getSalary()) {
return -1;
}else {
return 1;
}
}
}
Collections.sort(list,new Myclass());
for(Emp e:list) {
System.out.println(e);
}
比較邏輯排序:
注意:系統(tǒng)默認(rèn)的是升序排序,因此升序排列不需要加if判斷語(yǔ)句,如果是降序排列需要使用降序排列
舉例:當(dāng)前的數(shù)字減去另外一個(gè)數(shù)字
通過(guò)if條件語(yǔ)句進(jìn)行排序 當(dāng)前數(shù)字減去另外一個(gè)數(shù)字
1.如果得到的返回值是一個(gè)負(fù)數(shù)的話,將會(huì)當(dāng)前員工排在前面;
2.如果得到的返回值是一個(gè)正數(shù)的話,將會(huì)另一個(gè)員工排在前面