Tiny Bunny
본문 바로가기
💻/JAVA

[JAVA] sort함수, 배열 정렬(오름차순, 내림차순)

by soonybutter 2024. 10. 14.
728x90

 

1차원 배열 정렬

1차원 배열 오름차순 1차원 배열 내림차순
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
Arrays.sort(배열); Arrays.sort(배열, Collections.reverseOrder());
int배열 사용가능 Wrapper Class 사용(Integer 등)

 

 

 

 

2차원 배열 정렬

2차원 배열 오름차순 2차원 배열 내림차순
import java.util.Arrays;
import java.util.Comparator;
import java.util.Arrays;
import java.util.Comparator;
Arrays.sort(배열,new Comparator<int[]>(){내부구문}); Arrays.sort(배열, new Comparator<int[]>(){내부구문});
if(o1[0]==o2[0]){
   return o1[1]-o2[1];
}
else{
   return o1[0]-o2[0]
}
if(o1[0]==o2[0]){
   return o1[1]-o2[1];
}
else{
   return o2[0]-o1[0]
}

 

 

 

 

 

  • 오름차순(디폴트)
import java.util.Arrays;

public class Sort {

	public static void main(String[] args) {
		int[] arr = {1,22, 12,55, 44, 4691};
		Arrays.sort(arr);
		
	}
}

 

import java.util.Arrays;

public class Sort {

	public static void main(String[] args) {
		String[] words = {"피카츄","라이츄","파이리","꼬부기","야도란"};
		Arrays.sort(words);
		

	}

}

 

 

 

 

  • 내림차순

내림차순은 Collection.reverseOrder()를 사용한다.

 

-> 주의할 점 : 기본형 타입들을 내림차순으로 정렬하고 싶다면 배열을 래퍼클래스로 만들어주어야 정렬이 가능함.

예를 들어 int를 내림차순 정렬할 경우, Integer로 변경해주어야함.
String은 기본 타입이 아니므로 타입 변환 없이 정렬이 가능함.

 

+) int형 배열을 Integer 배열로 바꾸는 방법
Integer[] arr = Arrays.stream(_arr).boxed().toArray(Integer[]::new);

 

import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;

public class Main{
	static Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		
		int arr[]= new int[7];
		
		for(int i=0;i<arr.length;i++) {
			arr[i]=sc.nextInt();
		}
		
		Integer arr1[] = Arrays.stream(arr).boxed().toArray(Integer[]::new);
		
		
		Arrays.sort(arr1, Collections.reverseOrder());
		
		System.out.println("MAX="+arr1[6]);
		System.out.print("MIN="+arr1[0]);
		
	
	}
	
	

}
import java.util.Arrays;
import java.util.Collections;

public class Sort {

	public static void main(String[] args) {
		String[] words = {"김철수","강동원","공지철","이동욱","박해일","이제훈"};
		Arrays.sort(words, Collections.reverseOrder());
		
	
	}

}

 

 

import java.util.Arrays;
import java.util.Collections;

public class Sort {

	public static void main(String[] args) {
		Integer[] numList = {1,22, 12,55, 44, 4691};
		Arrays.sort(numList, Collections.reverseOrder());
		
	}
}

 

728x90

TOP

Designed by 티스토리