当前位置: 首页 > 编程笔记 >

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

柯昆杰
2023-03-14
本文向大家介绍对arraylist中元素进行排序实例代码,包括了对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方法移除元素方法介绍等,如有不足之处,欢迎提出您的宝贵意见,小编会及时回复大家的。感谢朋友们对本站的支持!

 类似资料:
  • 因此,我有一个,下面的字符串作为元素: null null

  • 主要内容:算法总结及实现,优化算法在实际开发中,有很多场景需要我们将数组元素按照从大到小(或者从小到大)的顺序排列,这样在查阅数据时会更加直观,例如: 一个保存了班级学号的数组,排序后更容易分区好学生和坏学生; 一个保存了商品单价的数组,排序后更容易看出它们的性价比。 对数组元素进行排序的方法有很多种,比如冒泡排序、归并排序、选择排序、插入排序、快速排序等,其中最经典最需要掌握的是「冒泡排序」。 以从小到大排序为例,冒泡排序的整体

  • 我创建了一个To-Do-List程序,记录用户输入的任务。对于每个任务,用户必须输入名称、日期等。 当用户从菜单中选择“5”时,程序会按这些任务的日期对它们进行排序。我需要根据任务的日期和时间的升序对所有任务进行排序,即日期和时间较早的任务会排在日期和时间较晚的任务之前,并显示排序后的列表。 然而,当我运行代码时,我会收到以下错误: 下面是我到目前为止的代码:(在底部)

  • 问题内容: 这是我用于Java 5.0的代码片段 Collections.reverseOrder() 用于获取比较器,以反转元素的存储和迭代方式。 有没有更优化的方法呢? 问题答案: 您为什么认为这种方法不会得到优化?相反的顺序简单地将被翻转从实际输出的符号(或输出上的物体插入),因此我会想象它是非常快的。 另一个建议:与其更改存储元素的顺序,不如使用该方法以降序迭代它们。

  • 我在我的一个Java 15项目类中有一个ArrayList,它看起来如下所示: ArrayList包含字符串,其中每个元素是学生的姓名和他们的考试标记,中间有一个冒号。 目的是按照从低到高的顺序对此列表进行排序。要怎么做呢?

  • 本文向大家介绍javascript实现对表格元素进行排序操作,包括了javascript实现对表格元素进行排序操作的使用技巧和注意事项,需要的朋友参考一下 我们在上网中都能看到很多能够排序的,如大小、时间、价格等 现在我们也试一下排序功能: 排序的函数代码:里面含有点击之后排序--还原,和排升序和降序。 设置表格的背景颜色代码,导入的css: css代码: 效果图-----排序之前: 升序: 降序