본문 바로가기

Java

[Java] 배열의 정렬(sort) 정리

 

1차원 배열 내림차순, 오름차순 정렬

결과 :  1,4,5    5,4,1

  • Arrays.sort() 정렬 API를 사용하여 배열을 오름차순 정렬
  • 내림차순의 경우 for문 초기값을 arr.length-1을 통해 배열 index 마지막 값으로 설정
  • index 마지막 값부터 차례대로 index 처음 값까지 내려가면서 배열 값을 출력

1차원 배열 정렬(선택정렬)

결과 : 3, 6, 2 ,4 ,7, 8  ->  2, 3 , 4, 6, 7, 8

  • 0번째 인덱스와 뒤의 값을 비교하여 가장 낮은 값을 0번째로 만든다.
  • 첫번째 for문 수행 후 0번째 인덱스는 최소값이기 때문에 start+1을 해준다. (재귀함수)
  • 비교 후 작은 값들을 앞으로 보내기 위해 swap을 해준다.

2차원 배열 정렬

결과 : (1,60), (2, 90), (3,20)

  • Arrays.sort() 두 번째 인자로 Comparator 인터페이스를 생성하고 구현
  • 첫 번째 배열을 기준으로 정렬하기 위해  o1[0], o2[0]로 index값을 0으로 지정
  • 반대로 두 번째 배열을 기준으로 정렬하려면  o1[1], o2[1]로 index값을 1로 지정
  • compare 메서드의 retrun값으로 오름차순과 내림차순을 결정 ( 1, -1 , 0)
  • o2 - o1 --> 내림차순 ,  o1 - o2 --> 오름차순,  return o2[0] - o1[0]

'Java' 카테고리의 다른 글

[Java] 객체지향(2) 연습 정리  (0) 2020.07.11
[Java] 객체지향(1) 정리  (0) 2020.07.11
[Java] 배열(Array) 정리  (0) 2020.07.10
[Java] Call by Value , Call by Reference 정리  (0) 2020.07.10
[Java] 메서드 정리  (0) 2020.07.10