簡體   English   中英

排序ArrayList反向而不實現用戶的任何方法?

[英]Sort ArrayList reverse without implementing any method by user?

   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*/

        }
    }

現在我該怎么做? 我是這個領域的新人。 如果這個愚蠢然后我會刪除它但請幫助我我真的需要這個來回答。

從Java 8開始, List有一個采用Comparator參數的sort方法。 字符串列表的自然順序是字母順序。 要按照自然順序對列表中的項目進行排序,可以使用Comparator.naturalOrder()作為Comparator 要按照自然順序的反向對列表項進行排序,可以使用Comparator.reverseOrder()

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

如果你使用的是舊版本的Java,雖然我沒有找到合理的理由,那么你可以使用Collections.sortCollections.reverseOrder()代替:

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

你可以在循環之前使用Comparator

Collections.sort(arraylist , new Comparator<String>() {
   public int compare(String o1, String o2) {
     return o1.compareTo(o2); 
   }
});
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);
      }

  }
}

你可以這樣做:

   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);
     }
  }
}

這將按字母順序排序然后反轉它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM