对ArrayList中的元素按照某一列进行排序
2016-09-25 13:34
387 查看
对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代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/4b10f0fc63f079f75e44769b6a11336f.png)
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代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/4b10f0fc63f079f75e44769b6a11336f.png)
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代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/4b10f0fc63f079f75e44769b6a11336f.png)
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中某一元素进行排序
- 按照ArrayList指定的某一列进行排序
- 对ArrayList的自定义元素进行排序
- ArrayList内元素按照字典排序
- 输入整型数组和排序标识,对其元素按照升序或降序进行排序
- 输入整型数组和排序标识,对其元素按照升序或降序进行排序
- 【华为OJ】【052-输入整型数组和排序标识,对其元素按照升序或降序进行排序】
- Java中的List按照元素的属性进行排序
- 输入整型数组和排序标识,对其元素按照升序或降序进行排序
- 对ArrayList实例对象中的元素进行排序
- 对list集合中的对象按照对象的某一属性进行排序
- 输入整型数组和排序标识,对其元素按照升序或降序进行排序
- php按二维数组中的某一元素值进行排序
- 华为机试题:输入整型数组和排序标识,对其元素按照升序或降序进行排序
- ArrayList内元素按照字典排序
- 对list中的元素按照元素的属性进行排序
- python --- 根据某一元素进行分组,然后排序
- 使用指定的比较器对整个 System.Collections.ArrayList 中的元素进行排序。