# Seven Dwarfs

**프로그램 종료 : System.exit(0);**\
반복문을 돌다가 일곱난쟁이를 찾으면 출력하고 프로그램을 종료해야하기 때문에 일곱난쟁이 출력 반복문을 다돌자마자 프로그램을 종료한다.

```java
for(int i=0;i<n-1;i++) {
			int a = dwarf[i];
			for(int j=0;j<n;j++) {
				int b = dwarf[j];
				if(sum - a - b == 100) {
					for(int k=0;k<n;k++) {
						if(dwarf[k] == a || dwarf[k] == b) continue;
						System.out.println(dwarf[k]);//a,b를 제외하고 키들 출력!
					}
					System.exit(0);
				}
			}
		}
```

정수형 배열 오름차순 정렬 : Arrays.sort(arr) (디폴트가 오름차순 정렬)\
정수형 배열 내림차순 정렬 : Arrays.sort(arr, Collections.reverseOrder())\
또는 기본 타입 배열을 내림차순으로 정렬하고 싶다면 **기본 타입의 배열**을 **래퍼클래스로 만들어** **Comparator를 두번째 인자에** 넣어주어야 **역순으로 정렬**할 수 있다.

**기본타입 배열 내림차순 정렬**

```java
import java.util.Arrays;

public class Sort{
    public static void main(String[] args)  {
        Integer arr[] = {4,23,33,15,17,19};
        Arrays.sort(arr,Collections.reverseOrder());
        
        for (int i : arr) {
            System.out.print("["+i+"]");
        }
    }
}
```

![정수형 배열 내림차순 정렬](https://3269900549-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MIbwNq54Ge4eqsziHM7%2F-M_wzkNsN8IKbYhhVM8F%2F-M_wztTTyj-PU-DTlDjT%2Fimage.png?alt=media\&token=aa4ee899-a904-4d7b-a9fd-08b59048a48c)

**String 배열 내림차순 정렬**

```java
import java.util.Arrays;

public class Sort{
    public static void main(String[] args)  {
        String arr[] = {"apple","orange","banana","pear","peach","melon"};
        Arrays.sort(arr,Collections.reverseOrder());
        
        for (String i : arr) {
            System.out.print("["+i+"]");
        }
    }
}
```

![내림차순 정렬된 String 배열](https://3269900549-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MIbwNq54Ge4eqsziHM7%2F-M_wzesxhXAVFIm9BoYA%2F-M_wzflQderus_xjZ7XD%2Fimage.png?alt=media\&token=d59ee86c-d047-435b-b919-6e52fd004cf1)

**객체 오름차순 정렬 : Comparator 재정의**

```java
class Interval {
	int start;
	int end;
	Interval() {start = 0; end = 0;}
	Interval(int s, int e) {start = s; end = e;}
}
Comparator Comp = new Comparator<Interval>() {
		public int compare(Interval a, Interval b) {
			return a.end - b.end;
		}
	};
```
