티스토리 뷰

반응형

자바에서 배열을 정렬할때의 로직을 직접 만들어서 모듈화 하기도 하지만 임시로 사용할때 쓰는함수가 Array.sort()이다.

사용하는 방법은 아래와 같다. 

 


import java.util.Arrays;
import java.util.Comparator;

public class ArraySortExample {

	public static void main(String[] args) {
		
		Integer[] arr1 = new Integer[] { 8,10,1111,85242 }; 
		 
        Arrays.sort(arr1);
         
        for(int a : arr1){
            System.out.println(a);
        }
	}

}

 

위와같이 사용하면 나오는 결과물은 아래와 같다 8부터 시작해서 오름차순으로 정렬한 것이다.

 

반대로 내림차순으로 정렬을 하고싶으면 어떻게할까 


import java.util.Arrays;
import java.util.Comparator;

public class ArraySortExample {

	public static void main(String[] args) {
		
		Integer[] arr1 = new Integer[] { 8,10,1111,85242 }; 
		 
        Arrays.sort(arr1, new ComparatorMyIntSort());
         
        for(int a : arr1){
            System.out.println(a);
        }
	}

}

class ComparatorMyIntSort implements Comparator{

	@Override
	public int compare(Integer arg0, Integer arg1) {

		 if(arg0 > arg1){
	            return -1;
	     } else if (arg0 == arg1){
	            return 0;
	     } else {
	            return 1;
	     }
	}
	
}

 

Comparator를 상속받아서 반대로 정렬해주는 클래스를 하나 만들어주고, Array.sort에 입력값을 추가해준다.

 

 

그렇게하면 위와같이 내림차순으로 정렬되어 출력된다.

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함