Collections 로 정렬하기
// list 선언
List<Integer> intList = Arrays.asList(5,2,5,9,0,5,4,2,1);
Collections.sort(intList); // 오름차순
결과 > 0,1,2,2,4,5,5,5,9
Collections.sort(intList, Collections.reverseOrder()); // 내림차순
결과 > 9,5,5,5,4,2,2,1,0
Collecntions.reversOrder() 에 파라미터 값을 넘기면 다양한 옵션으로 정렬할 수 있습니다.
List 로 정렬하기
List 정렬은 Java 8 버전이상에서 가능합니다.
// List 선언
List<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]
사용자 정의 Collections 이용
Collections.sort() 에 두번째 파라미터에 Comparator 인터페이스를 구현하여 커스터마이징 합니다.
List<Integer> intList = Arrays.asList(5,2,5,9,0,5,4,2,1);
Collections.sort(intList, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// 여기에 o1, o2 를 마음대로 커스터마이징 할 수 있음.
return o2 - o1; // 내림차순
// return o1 - o1; // 오름차순
}
});
// String 정렬
List<String> strList = Arrays.asList("A", "C", "B");
Collections.sort(strList, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2); // 오름차순 반대시 내림차순
}
});
'Java' 카테고리의 다른 글
Spring Webflux 간단하게 알아보기 (0) | 2023.12.25 |
---|---|
[Java] SHA-256 암호화 & Salt ( 적용예시 ) (1) | 2023.05.17 |
[java] :: 더블콜론의 의미 (0) | 2023.03.28 |
[java] java버전 변경 ( java 8 -> java 17) (0) | 2023.03.27 |
[Java] 환경변수 설정 (0) | 2022.11.22 |