快速业务通道

Java对象排序的3种实现方法 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

Java对象排序的3种实现方法

时间:2011-04-30
/** * Java对象排序的3种实现方式 * @author zhangwenzhang * */public class TestObjectSort {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        /**方法1         * 使用Collections.sort(List, Comparator)实现,必须实现Comparator的一个比较器并复写compare()方法         */        Person1[] ps = new Person1[]{new Person1("p0",0),                                     new Person1("p1",3),                                     new Person1("p2",5),                                     new Person1("p3",4),                                     new Person1("p4",8),                                     new Person1("p5",6),                                     new Person1("p6",7),                                     new Person1("p7",1),                                     new Person1("p8",2),                                     new Person1("p9",9)};        List<Person1> pl = new ArrayList<Person1>();        for(int i = 0; i < 10; i++){            System.out.print(ps[i].getAge());            pl.add(ps[i]);        }        System.out.println("\n使用Collections.sort(List, Comparator)类来比较:");        long l1 = System.currentTimeMillis();        Collections.sort(pl, new MyComparator());        System.out.println("time: " + (System.currentTimeMillis() - l1));        for(Iterator it = pl.iterator(); it.hasNext();){            Person1 p = (Person1) it.next();            System.out.print(p.getAge());        }        /**方法2         * 使用Arrays.sort(Object[])实现,对象必须实现Comparable接口并复写compareTo()方法         */        Person2[] ps2 = new Person2[]{new Person2("p0",0),                                     new Person2("p1",3),                                     new Person2("p2",5),                                     new Person2("p3",4),                                     new Person2("p4",8),                                     new Person2("p5",6),                                     new Person2("p6",7),                                     new Person2("p7",1),                                     new Person2("p8",2),                                     new Person2("p9",9)};        System.out.println("\n使用Arrays.sort(Object[])类来比较:");        long l2 = System.currentTimeMillis();        Arrays.sort(ps2);        System.out.println("time: " + (System.currentTimeMillis() - l2));        for(int i = 0; i < 10; i++){            System.out.print(ps2[i].getAge());        }        /**方法3         * 使用Collections.sort(List)实现,对象必须实现Comparable接口并复写compareTo()方法         */        Person2[] ps3 = new Person2[]{new Person2("p0",0),                                   

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号