对ArrayList中的元素按照某一列进行排序,arraylist排序
分享于 点击 29864 次 点评:272
对ArrayList中的元素按照某一列进行排序,arraylist排序
对ArrayList中的元素按照某一列进行排序
博客分类: java对ArrayList中的元素进行排序,主要考查的是对util包中的Comparator接口和Collections类的使用。
实现Comparator接口必须实现compare方法,自己可以去看API帮助文档。
创建一个Comparator实例后,用Collections.sort(List,<E>)对List中的元素进行排序。
下面是实现代码:
以下文件必须引入util包:
package com.test;
import java.util.*;
Emp.java文件如下:
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 ;
- }
- }
MyComparator文件如下:
Java代码- 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.java文件如下:
Java代码- 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());
- }
- }
- }
相关文章
- 暂无相关文章
用户点评