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

 更新时间:2017年11月03日 14:32:55   作者:大神不解释  
这篇文章主要介绍了对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());
		}
	}
}

总结

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

相关文章

  • Java中try catch 的基本用法示例

    Java中try catch 的基本用法示例

    这篇文章主要给大家介绍了关于Java中try catch 的基本用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • spring boot整合hessian的示例

    spring boot整合hessian的示例

    本文通过实例代码给大家介绍了spring boot整合hessian的方法,需要的朋友可以参考下
    2017-07-07
  • 浅谈Spring的属性编辑器的使用

    浅谈Spring的属性编辑器的使用

    这篇文章主要介绍了浅谈Spring的属性编辑器的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • java实现excel导入数据的工具类

    java实现excel导入数据的工具类

    这篇文章主要介绍了java实现的excel导入数据的工具类,需要的朋友可以参考下
    2014-03-03
  • 详解redis与spring的整合(使用缓存)

    详解redis与spring的整合(使用缓存)

    本篇文章主要介绍了redis与spring的整合(使用缓存),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 详解如何用spring Restdocs创建API文档

    详解如何用spring Restdocs创建API文档

    这篇文章将带你了解如何用spring官方推荐的restdoc去生成api文档。具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Java中的MapStruct用法详解

    Java中的MapStruct用法详解

    这篇文章主要介绍了Java中的MapStruct用法详解,MapStuct的使用非常简单,把对应的jar包引入即可,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • springboot的http.server.requests服务请求流程源码

    springboot的http.server.requests服务请求流程源码

    这篇文章主要为大家介绍了springboot的http.server.requests服务请求流程源码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • java实现ThreadLocal线程局部变量的实现

    java实现ThreadLocal线程局部变量的实现

    本文主要介绍了java实现ThreadLocal线程局部变量的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • java实现单链表之逆序

    java实现单链表之逆序

    这篇文章主要介绍了应用java语言实现单链表逆序,,需要的朋友可以参考下
    2015-07-07

最新评论