通过比较器:

public static void main(String[] args) {
  List<String> list = new ArrayList<String>();
  list.add("zhangsan");
  list.add("lisi");
  list.add("wangwu");
  Collections.sort(list, new Comparator<String>() {
      public int compare(String str1, String str2) {

      /**
      * 升序排的话就是第一个参数.compareTo(第二个参数);
      * 降序排的话就是第二个参数.compareTo(第一个参数);
      */

      // 按首字母升序排
      // return str1.compareTo(str2);
      // 按第二个字母升序排
      char c1 = str1.charAt(1);
      char c2 = str2.charAt(1);
      return c1 - c2;
    }
  });
  System.out.println(list);
}

Comparator默认按照升序排列

 /**
 * 升序排的话就是第一个参数.compareTo(第二个参数);
 * 降序排的话就是第二个参数.compareTo(第一个参数);
  */

如果想降序排列,返回升序排列的返回值的相反数即可。


0 条评论

发表回复

您的电子邮箱地址不会被公开。