对arraylist中元素进行排序实例代码
程序员文章站
2023-12-22 14:45:40
rraylist中的元素进行排序,主要考查的是对util包中的comparator接口和collections类的使用。
实现comparator接口必须实现comp...
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方法移除元素方法介绍等,如有不足之处,欢迎提出您的宝贵意见,小编会及时回复大家的。感谢朋友们对本站的支持!