国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java中Collections.sort() 排序函數(shù)的用法

2019-11-06 08:12:19
字體:
供稿:網(wǎng)友

原文地址:http://www.blogjava.net/landor2004/articles/sort.html

用Collections.sort方法對list排序有兩種方法第一種是list中的對象實(shí)現(xiàn)Comparable接口,如下:

/*** 根據(jù)order對User排序*/public class User implements Comparable<User>{    PRivate String name;    private Integer order;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Integer getOrder() {        return order;    }    public void setOrder(Integer order) {        this.order = order;    }    public int compareTo(User arg0) {        return this.getOrder().compareTo(arg0.getOrder());    }}測試一下:public class Test{    public static void main(String[] args) {        User user1 = new User();        user1.setName("a");        user1.setOrder(1);        User user2 = new User();        user2.setName("b");        user2.setOrder(2);        List<User> list = new ArrayList<User>();        //此處add user2再add user1        list.add(user2);        list.add(user1);        Collections.sort(list);        for(User u : list){            System.out.println(u.getName());        }    }}輸出結(jié)果如下ab第二種方法是根據(jù)Collections.sort重載方法來實(shí)現(xiàn),例如:/*** 根據(jù)order對User排序*/public class User { //此處無需實(shí)現(xiàn)Comparable接口    private String name;    private Integer order;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Integer getOrder() {        return order;    }    public void setOrder(Integer order) {        this.order = order;    }}主類中這樣寫即可:public class Test{    public static void main(String[] args) {        User user1 = new User();        user1.setName("a");        user1.setOrder(1);        User user2 = new User();        user2.setName("b");        user2.setOrder(2);        List<User> list = new ArrayList<User>();        list.add(user2);        list.add(user1);               Collections.sort(list,new Comparator<User>(){            public int compare(User arg0, User arg1) {                return arg0.getOrder().compareTo(arg1.getOrder());            }        });        for(User u : list){            System.out.println(u.getName());        }    }}輸出結(jié)果如下ab前者代碼結(jié)構(gòu)簡單,但是只能根據(jù)固定的屬性排序,后者靈活,可以臨時指定排序項(xiàng),但是代碼不夠簡潔擇優(yōu)用之。 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 会理县| 会同县| 南阳市| 甘肃省| 观塘区| 将乐县| 牡丹江市| 留坝县| 清新县| 会泽县| 托克逊县| 开鲁县| 孝义市| 绥阳县| 岳阳县| 晋江市| 弥渡县| 庐江县| 新疆| 江永县| 抚松县| 电白县| 杂多县| 翼城县| 大邑县| 泰来县| 扶绥县| 郧西县| 余干县| 太保市| 拉萨市| 临武县| 大邑县| 丽江市| 南皮县| 临夏市| 南投市| 石柱| 敦化市| 丘北县| 高要市|