这篇文章主要介绍了java如何对arraylist中元素进行排序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
rrayList中的元素进行排序,主要考查的是对util包中的Comparator接口和Collections类的使用。
实现Comparator接口必须实现compare方法,自己可以去看API帮助文档。
创建一个Comparator实例后,用Collections.sort(List,<E>)
对List中的元素进行排序。
下面是实现代码:
以下文件必须引入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()); } } }
感谢你能够认真阅读完这篇文章,希望小编分享的“java如何对arraylist中元素进行排序”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。