对arraylist中元素进行排序实例代码

时间:2022-11-12 13:01:40

rrayList中的元素进行排序,主要考查的是对util包中的Comparator接口和Collections类的使用。

实现Comparator接口必须实现compare方法,自己可以去看API帮助文档。

创建一个Comparator实例后,用Collections.sort(List,<E>)对List中的元素进行排序。

下面是实现代码:

以下文件必须引入util包:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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接口

?
1
2
3
4
5
6
7
8
9
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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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中元素进行排序实例代码的全部内容,希望对大家有所帮助。如有不足之处,欢迎提出您的宝贵意见,小编会及时回复大家的。感谢朋友们对本站的支持!

原文链接:http://www.cnblogs.com/cvst/articles/5818365.html