这篇文章主要介绍了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中元素进行排序”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。