Google Guava 学习记录《Three》 Ordering

Ordering我看了好多遍中文文档,加一些实例终于算是搞清楚怎么回事了。

他是干什么的? 就像他名字一样,用来ordering 排序的。、

主要有两种方法。

1 用它的静态方法排序。 比如 Ordering.natural();    对可排序类型做自然排序,如数字按大小,日期按先后。  natual()的官方解释翻译。

2 用自己定义的Ordering

  比如你要根据字符串的长度排序。

  

public void orderBasedOnLength(){
    Ordering<String> byLength = new Ordering<String>(){
        @Override
        public int compare(String s1, String s2){
            return Ints.compare(s1.length(),s2.length());
        }
    
    };

    List<String> toOrder = new Lists.newArraryList(
            "hahah",
            "en"
            );

    //这里是调用Ordering 的静态方法 比如 natural reverse等
    Collections.sort(toOrder, byLength.natural().reverse());

     System.out.println(toOrder);

更多列子可以参考:http://www.leveluplunch.com/java/examples/guava-ordering-example/#reverse-elements

原文地址:https://www.cnblogs.com/-Doraemon/p/4806617.html