[ArrayList]ソート
1. Collection.sort()
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class SortArrayList {
public static void main(String[] args) {
// ArrayList 준비
ArrayList<String> list = new ArrayList<>(Arrays.asList("C", "A", "B", "a"));
System.out.println("원본 : " + list); // [C, A, B, a]
// 오름차순으로 정렬
Collections.sort(list);
System.out.println("오름차순 : " + list); // [A, B, C, a]
// 내림차순으로 정렬
Collections.sort(list, Collections.reverseOrder());
System.out.println("내림차순 : " + list); // [a, C, B, A]
// 대소문자 구분없이 오름차순
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
System.out.println("대소문자 구분없이 오름차순 : " + list); // [a, A, B, C]
// 대소문자 구분없이 내림차순
Collections.sort(list, Collections.reverseOrder(String.CASE_INSENSITIVE_ORDER));
System.out.println("대소문자 구분없이 내림차순 : " + list); // [C, B, a, A]
}
}
Collections.sort(list);ArrayListを昇順に並べます.
Collections.sort(list, Collections.reverseOrder());
Collections.sort()の2番目のパラメータ
降順ソートを表すComparatorを渡します.
ArrayListは降順で並べられています.
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
String.CASE INSSEITIVE ORDERが渡された場合は、大文字と小文字を区別せずに昇順で並べ替えられます.
ここで、「a」と「A」は同じ順序と見なされるため、元の順序を維持する.
Collections.sort(list, Collections.reverseOrder(String.CASE_INSENSITIVE_ORDER));
大文字と小文字を区別せずに降順に並べます.
List.sort() -java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
public class SortArrayList {
public static void main(String[] args) {
// ArrayList 준비
ArrayList<String> list = new ArrayList<>(Arrays.asList("C", "A", "B", "a"));
System.out.println("원본 : " + list); // [C, A, B, a]
// 오름차순으로 정렬
list.sort(Comparator.naturalOrder());
System.out.println("오름차순 : " + list); // [A, B, C, a]
// 내림차순으로 정렬
list.sort(Comparator.reverseOrder());
System.out.println("내림차순 : " + list); // [a, C, B, A]
// 대소문자 구분없이 오름차순 정렬
list.sort(String.CASE_INSENSITIVE_ORDER);
System.out.println("대소문자 구분없이 오름차순 : " + list); // [a, A, B, C]
// 대소문자 구분없이 내림차순 정렬
list.sort(Collections.reverseOrder(String.CASE_INSENSITIVE_ORDER));
System.out.println("대소문자 구분없이 내림차순 : " + list); // [C, B, a, A]
}
}
Collectionではなくリストオブジェクトのsortでソートカスタム
比較するオブジェクトに直接Compareableインタフェースを実装する
あるいは、比較用のクラスでComparatorインタフェースを実装する
Reference
この問題について([ArrayList]ソート), 我々は、より多くの情報をここで見つけました https://velog.io/@away0419/ArrayList-정렬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol