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为容器元素排序。

  • 相关阅读:
    Android中各级目录的作用
    轻量级java开发(一)-Hibernate 安装
    Eclipse 安装插件
    Eclipse超级完美汉化教程
    JAVA中extends 与implements区别
    Java基础语法总结
    C#笔试题面试题锦集(全)总20篇
    Nginx集群
    Redis 集群方案
    MS Sql Server 中主从库的配置和使用介绍
  • 原文地址:https://www.cnblogs.com/happyPawpaw/p/3456892.html
Copyright © 2011-2022 走看看