對(duì)arraylist中元素進(jìn)行排序?qū)嵗a
rrayList中的元素進(jìn)行排序,主要考查的是對(duì)util包中的Comparator接口和Collections類的使用。
實(shí)現(xiàn)Comparator接口必須實(shí)現(xiàn)compare方法,自己可以去看API幫助文檔。
創(chuàng)建一個(gè)Comparator實(shí)例后,用Collections.sort(List,<E>)
對(duì)List中的元素進(jìn)行排序。
下面是實(shí)現(xiàn)代碼:
以下文件必須引入util包:
package com.test; import Java.util.*; Emp.java文件如下: class Emp{ private String empNo ; private String empName ; private float sal ; public String getEmpNo() { return empNo; } public void setEmpNo(String empNo) { this.empNo = empNo; } public String getEmpName() { return empName; } public void setEmpName(String empName) { this.empName = empName; } public float getSal() { return sal; } public void setSal(float sal) { this.sal = sal; } public Emp(String empNo,String empName,float sal){ this.empNo = empNo ; this.empName = empName ; this.sal = sal ; } }
自己實(shí)現(xiàn)的Comparator接口
class MyComparator implements Comparator{ public int compare(Object o1,Object o2) { Emp e1=(Emp)o1; Emp e2=(Emp)o2; if(e1.getSal()<e2.getSal()) return 1; else return 0; } }
主類Test
public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ArrayList al = new ArrayList() ; Emp emp1 = new Emp("sn001","ysj1",2500) ; Emp emp2 = new Emp("sn002","ysj2",1200) ; Emp emp3 = new Emp("sn003","ysj3",8900) ; Emp emp4 = new Emp("sn004","ysj4",3400) ; Emp emp5 = new Emp("sn005","ysj5",4500) ; al.add(emp1) ; al.add(emp2) ; al.add(emp3) ; al.add(emp4) ; al.add(emp5) ; System.out.println("排序前的值"); for (int i=0;i<al.size();i++){ Emp emp = (Emp)al.get(i) ; System.out.println(emp.getSal()); } //必須是Comparator中的compare方法和Collections.sort方法配合使用才管用 MyComparator mc = new MyComparator() ; Collections.sort(al, mc) ; System.out.println("排序后的值"); for (int i=0;i<al.size();i++){ Emp emp = (Emp)al.get(i) ; System.out.println(emp.getSal()); } } }
總結(jié)
以上就是本文關(guān)于對(duì)arraylist中元素進(jìn)行排序?qū)嵗a的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:ArrayList的自動(dòng)擴(kuò)充機(jī)制實(shí)例解析、ArrayList在for循環(huán)中使用remove方法移除元素方法介紹等,如有不足之處,歡迎提出您的寶貴意見(jiàn),小編會(huì)及時(shí)回復(fù)大家的。感謝朋友們對(duì)本站的支持!
相關(guān)文章
java實(shí)現(xiàn)excel導(dǎo)入數(shù)據(jù)的工具類
這篇文章主要介紹了java實(shí)現(xiàn)的excel導(dǎo)入數(shù)據(jù)的工具類,需要的朋友可以參考下2014-03-03詳解如何用spring Restdocs創(chuàng)建API文檔
這篇文章將帶你了解如何用spring官方推薦的restdoc去生成api文檔。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05springboot的http.server.requests服務(wù)請(qǐng)求流程源碼
這篇文章主要為大家介紹了springboot的http.server.requests服務(wù)請(qǐng)求流程源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12java實(shí)現(xiàn)ThreadLocal線程局部變量的實(shí)現(xiàn)
本文主要介紹了java實(shí)現(xiàn)ThreadLocal線程局部變量的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07