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

所属分类: 软件编程 / java 阅读数: 38
收藏 0 赞 0 分享

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());
		}
	}
}

总结

以上就是本文关于对arraylist中元素进行排序实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:ArrayList的自动扩充机制实例解析ArrayList在for循环中使用remove方法移除元素方法介绍等,如有不足之处,欢迎提出您的宝贵意见,小编会及时回复大家的。感谢朋友们对本站的支持!

更多精彩内容其他人还在看

Java数据类型的规则

这篇文章主要介绍了Java数据类型的规则的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring整合TimerTask实现定时任务调度

这篇文章主要介绍了Spring整合TimerTask实现定时任务调度的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解SpringMVC使用MultipartFile实现文件的上传

本篇文章主要介绍了SpringMVC使用MultipartFile实现文件的上传,本地的文件上传到资源服务器上,比较好的办法就是通过ftp上传。这里是结合SpringMVC+ftp的形式上传的,有兴趣的可以了解一下。
收藏 0 赞 0 分享

SpringMVC上传文件的三种实现方式

本篇文章主要介绍了SpringMVC上传文件的三种实现方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例

本篇文章主要介绍了微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

浅析Java中的继承与组合

本文将介绍组合和继承的概念及区别,并从多方面分析在写代码时如何进行选择。文中通过示例代码介绍的很详细,有需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

利用反射获取Java类中的静态变量名及变量值的简单实例

下面小编就为大家带来一篇利用反射获取Java类中的静态变量名及变量值的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java启动线程的3种方式对比分析

这篇文章主要为大家对比分析了java启动线程的3种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

SpringMVC上传和解析Excel方法

这篇文章主要介绍了SpringMVC上传和解析Excel方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

JAVA中String类与StringBuffer类的区别

这篇文章主要为大家详细介绍了JAVA中String类与StringBuffer类的区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多