배열(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

 

+ Recent posts