对arraylist中元素进行排序实例代码
发布时间:2020-12-14 21:11:34 所属栏目:Java 来源:网络整理
导读:rrayList中的元素进行排序,主要考查的是对util包中的Comparator接口和Collections类的使用。 实现Comparator接口必须实现compare方法,自己可以去看API帮助文档。 创建一个Comparator实例后,用 Collections.sort(List,E) 对List中的元素进行排序。 下面是
rrayList中的元素进行排序,主要考查的是对util包中的Comparator接口和Collections类的使用。 实现Comparator接口必须实现compare方法,自己可以去看API帮助文档。 创建一个Comparator实例后,用 下面是实现代码: 以下文件必须引入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 ; } } 自己实现的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()); } } } 总结 以上就是本文关于对arraylist中元素进行排序实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:ArrayList的自动扩充机制实例解析、ArrayList在for循环中使用remove方法移除元素方法介绍等,如有不足之处,欢迎提出您的宝贵意见,小编会及时回复大家的。感谢朋友们对本站的支持! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |