更新時(shí)間:2019-09-08 09:00:00 來源:動(dòng)力節(jié)點(diǎn) 瀏覽10692次
今天動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)為大家分享Java對(duì)象數(shù)組排序的三種方法,希望通過此文,能夠幫助到正在學(xué)習(xí)java的零基礎(chǔ)學(xué)員,下面就隨小編一起看看Java對(duì)象數(shù)組排序的三種方法分別是什么?
1.類實(shí)現(xiàn)comparable
一個(gè)對(duì)象數(shù)組若要使用Arrays.sort(Object[] objects)方法來排序,那么該對(duì)象類需要實(shí)現(xiàn)comparable接口
public class Employee implements Comparable<Employee>{
? ? private String name;
? ? private double salary;
? ? public Employee(){
? ? ? ? name="Employee";
? ? ? ? salary=0;
? ? }
? ? public Employee(String name,double salary){
? ? ? ? this.name=name;
? ? ? ? this.salary=salary;
? ? }
? ? ...省略代碼...
? ? public double getSalary(){
? ? ? ? return salary;
? ? }
? ? public void setSalary(double salary){
? ? ? ? this.salary=salary;
? ? }
? ? @Override
? ? public int compareTo(Employee o){
? ? ? ? //return Double.compare(salary,o.salary);
? ? ? ? return Double.compare(this.getSalary(),o.getSalary());
? ? }
}
?//1.Employee實(shí)現(xiàn)Comparable接口
Arrays.sort(employees);
2.往Arrays.sort()方法中傳入Comparator對(duì)象來規(guī)定排序規(guī)則
class EmployeeComparator implements Comparator<Employee>{
? ? @Override
? ? public int compare(Employee o1,Employee o2){
? ? ? ? return Double.compare(o1.getSalary(),o2.getSalary());
? ? }
}
//2.使用Comparator比較器
? ? ? ? Comparator comparator=new EmployeeComparator();
3.往Arrays.sort()方法傳入lambda表達(dá)式
//3.使用Lambada表達(dá)式
Arrays.sort(employees,(o1,o2)->{
? ? ? ? ? ? if(o1.getSalary()>o2.getSalary())return 1;
? ? ? ? ? ? else return -1;
? ? ? ? });
?
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編為大家分享的“ Java對(duì)象數(shù)組排序的三種方法”的內(nèi)容,希望能夠幫助到大家,更多java最新資訊請(qǐng)繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。
相關(guān)免費(fèi)視頻教程推薦
java菜鳥入門教程下載之對(duì)象數(shù)組排序:http://www.dabaquan.cn/xiazai/2540.html
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)