2017-12-10 7 views
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*/ 

     } 
    } 

どうすればいいですか?私はこの分野で新しい。この愚かな場合、私はそれを削除しますが、私は本当にこれが答える必要があります私を助けてください。ArrayListを逆順に並べ替えるには、ユーザーがメソッドを実装しないでください。

+2

回答はこちら - https://stackoverflow.com/questions/16252269/how-to-sort-an-arraylist – vinS

答えて

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

    } 
} 
+0

あなたはそれを正常にソートする方法をお勧めしますか? –

+0

Collections.sort(arraylist)によってのみ; –

+3

'arrayList.sort(Comparator.naturalOrder()。reversed())'。近づくと速いの両方 - 逆に別のパスを必要としません。 –

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

これはアルファベット順でソート、それが逆になります。

2

あなたは、ループの前にComparatorを使用することができます。Java 8のよう

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

リストを逆順にしたいと考えてください。 –

+0

'o1.compareTo(o2)'を 'o2.compareTo(o1)'に変更してソートの降順にすることができます。 – amir110

+0

逆に 'Collections.reverse(arraylist)'を使用することができます – amir110

5

を、ListComparatorパラメータを取るsort方法があります。 文字列のリストの自然順序付けはアルファベット順です。 リストの項目を自然順序でソートするには、としてComparator.naturalOrder()を使用できます。 リストの項目を自然順序の逆順にソートするには、 Comparator.reverseOrder()を使用できます。

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

私はそのための十分な理由が表示されませんが、あなたは、Java、 の古いバージョンである場合は、 その後、あなたの代わりにCollections.reverseOrder()Collections.sortを使用することができます。

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