排序ArrayList反向而不实现用户的任何方法?

时间:2017-12-10 07:06:25

标签: java

   import java.util.*;
    public class Details  {

        public static void main(String args[]){
           ArrayList<String> arraylist = new ArrayList<String>();
           arraylist.add("AA");
           arraylist.add("ZZ");
           arraylist.add("CC");
           arraylist.add("FF");


           System.out.println("Before Sorting:");
           for(String str: arraylist){
                System.out.println(str);
            }

           /* Sorting in decreasing order*/

        }
    }

现在我该怎么做?我是这个领域的新人。如果这个愚蠢,那么我会删除它,但请帮助我,我真的需要这个来回答。

4 个答案:

答案 0 :(得分:5)

从Java 8开始,List采用sort方法,该方法采用Comparator参数。 字符串列表的自然顺序是字母顺序。 要按自然顺序对列表中的项目进行排序,您可以使用Comparator.naturalOrder()作为Comparator。 要按照自然顺序排序列表中的项目, 你可以使用Comparator.reverseOrder()

List<String> list = Arrays.asList("AA", "ZZ", "CC", "FF");
list.sort(Comparator.reverseOrder());
System.out.println(list);

如果您使用的是旧版本的Java, 虽然我没有看到一个很好的理由, 那么您可以使用Collections.sort代替Collections.reverseOrder()

List<String> list = Arrays.asList("AA", "ZZ", "CC", "FF");
Collections.sort(list, Collections.reverseOrder());
System.out.println(list);

答案 1 :(得分:2)

你可以在循环前使用Comparator

Collections.sort(arraylist , new Comparator<String>() {
   public int compare(String o1, String o2) {
     return o1.compareTo(o2); 
   }
});

答案 2 :(得分:2)

import java.util.*; public class Details {
  public static void main(String args[]){
     ArrayList<String> arraylist = new ArrayList<String>();
     arraylist.add("AA");
     arraylist.add("ZZ");
     arraylist.add("CC");
     arraylist.add("FF");


     System.out.println("Before Sorting:");
     for(String str: arraylist){
          System.out.println(str);
      }

     /* Sorting in decreasing order*/
     Collections.sort(arraylist);
     Collections.reverse(arraylist);
     for(String str: arraylist){
          System.out.println(str);
      }

  }
}

答案 3 :(得分:1)

你可以这样做:

   import java.util.*;
public class TicTacToe  {

  public static void main(String args[]){
     ArrayList<String> arraylist = new ArrayList<String>();
     arraylist.add("AA");
     arraylist.add("ZZ");
     arraylist.add("CC");
     arraylist.add("FF");
     Collections.sort(arraylist);


     System.out.println("Before Sorting:");
     for(String str: arraylist){
          System.out.println(str);
      }
     Collections.sort(arraylist, Collections.reverseOrder());
   /* Sorted List in reverse order*/
   System.out.println("ArrayList in descending order:");
   for(String str: arraylist){
        System.out.println(str);
     }
  }
}

这将按字母顺序排序然后反转它。