배열(Array) 오름차순 정렬
import java.util.Arrays;
public class Sort{
public static void main(String[] args) {
int[] i_arr = {3,4,1,2,5};
String[] s_arr = {"C","D","A","B","E"};
Arrays.sort(i_arr);
Arrays.sort(s_arr);
for (int i : i_arr) {
System.out.print(i);
}
System.out.print("\n");
for (String s : s_arr) {
System.out.print(s);
}
}
}
12345
ABCDE
배열(Array) 내림차순 정렬
주의할 점은 byte, char, int, short, double, float, long 같은 기본형 타입의 배열에는 적용이 불가능하니 Interger같은 wrapper class를 적용해야 한다.
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
public class Sort{
public static void main(String[] args) {
Integer[] i_arr = {3,4,1,2,5};
String[] s_arr = {"C","D","A","B","E"};
Arrays.sort(i_arr, Comparator.reverseOrder());
Arrays.sort(s_arr, Collections.reverseOrder());
for (int i : i_arr) {
System.out.print(i);
}
System.out.print("\n");
for (String s : s_arr) {
System.out.print(s);
}
}
}
54321
EDCBA
ArrayList 오름차순 정렬
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(2);
list.add(4);
list.add(1);
Collections.sort(list);
for (Integer l : list) {
System.out.printf("%d", l);
}
12345
ArrayList 내림차순 정렬
java.util.Collections 클래스에서 내림차순 정렬은 제공하지 않습니다.
하지만 리스트를 반대로 뒤집어주는 reverse 메소드가 있기 때문에 먼저 오름차순으로 정렬한 후 리스트를 반대로 뒤집어야 합니다.
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(2);
list.add(4);
list.add(1);
Collections.sort(list);
Collections.reverse(list);
for (Integer l : list) {
System.out.printf("%d", l);
}
54321
'Programming Language > Java' 카테고리의 다른 글
[Java] 객체지향 핵심 개념 (캡슐화, 상속, 추상화, 다형성) (0) | 2020.12.20 |
---|---|
[Java] 문자열 포함 여부 확인, contains() 함수 (0) | 2020.12.19 |
[Java] 배열(Array) <--> ArrayList 변환 (0) | 2020.12.18 |
[Java] 배열(Array) 과 ArrayList (0) | 2020.12.18 |
[Java] BufferedReader, BufferedWriter를 활용한 빠른 입출력 (0) | 2020.12.15 |