zoukankan      html  css  js  c++  java
  • java 集合排序

    Java API针对集合类型排序提供了两种支持:
    java.util.Collections.sort(java.util.List)
    java.util.Collections.sort(java.util.List, java.util.Comparator)

    第一个方法要求所排序的元素类必须实现java.lang.Comparable接口。

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    
    /**
     * @author rhino
     * 
     */
    public class SortArray {
    
        private class People {
            String id;
            String name;
    
            public People(String id, String name) {
                this.id = id;
                this.name = name;
            }
    
            public String getId() {
                return id;
            }
    
            public void setId(String id) {
                this.id = id;
            }
    
            public String getName() {
                return name;
            }
    
            public void setName(String name) {
                this.name = name;
            }
    
            @Override
            public String toString() {
                return id + ":" + name;
            }
    
        }
    
        private class myComparator implements Comparator<People> {
    
            @Override
            public int compare(People o1, People o2) {
                return o1.getName().compareTo(o2.getName());
            }
    
        }
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            SortArray sortArray = new SortArray();
            List<People> list = new ArrayList<People>();
            list.add(sortArray.new People("1", "zhangshang"));
            list.add(sortArray.new People("2", "lisi"));
            list.add(sortArray.new People("3", "wangwu"));
            System.out.println(list);
            Comparator<People> comparator = sortArray.new myComparator();
            Collections.sort(list, comparator);
            System.out.println(list);
    
            Comparator<People> descComparator = Collections
                    .reverseOrder(comparator);
            Collections.sort(list, descComparator);
            System.out.println(list);
    
        }
    }


    第二个方法要求实现一个java.util.Comparator接口。

    java.lang.Comparable接口和java.util.Comparator接口是Java对排序最提供最基本支持。这两个接口不但可以用于集合元素排序,还可以用于数组排序。
    如果数组或集合元素是String类型,则可以利用Java API实现的Comparator<String>对象String.CASE_INSENSITIVE_ORDER为容器元素排序。

  • 相关阅读:
    算法浅谈——一文讲透三分算法
    机器学习基础——一文讲懂中文分词算法
    线性代数精华2——逆矩阵的推导过程
    LeetCode 2 Add Two Numbers——用链表模拟加法
    LeetCode 1 Two Sum——在数组上遍历出花样
    大数据基石——Hadoop与MapReduce
    Flexbox布局
    对象基础
    对象枚举属性
    我的第一篇博文
  • 原文地址:https://www.cnblogs.com/happyPawpaw/p/3456892.html
Copyright © 2011-2022 走看看