[JAVA] int, String배열의 오름차순, 내림차순 정렬 개념 및 예제(Arrays.sort(), Collections.reverseOrder())

2022. 3. 31. 15:43·Back end/Java
반응형

[배열의 선언 및 초기화]

//배열의 선언과 크기 할당
int[] arr = new int[100];

//배열의 선언과 값 초기화
int[] arr = {10, 20, 30, 40, 50};

[java.util.Arrays]

  • Java에서 배열의 값을 정렬하는 경우 java.util.Arrays 클래스를 활용한다.
import java.util.Arrays;

[↗배열 오름차순 정렬하기]

  • Arrays.sort() 메소드를 활용하면 배열 값이 오름차순으로 정렬된다.
Arrays.sort(arr);
  • 소스 코드
import java.util.Arrays;
import java.util.Collections;

public class SortExample {
	
	public static void main(String[] args) {
		int[] arr1 = {10, 30, 20, 50, 40};
		String[] arr2 = {"가", "다", "나", "마", "라"};
		
		System.out.println("정렬 전 결과");
		for(int arr : arr1) {
			System.out.print(arr + " ");
		}
		System.out.println("");
		for(String arr : arr2) {
			System.out.print(arr + " ");
		}
		
		System.out.println("\n=============");
		
		//오름차순 정렬(ASC)
		System.out.println("오름차순 정렬 결과");
		Arrays.sort(arr1);
		Arrays.sort(arr2);
		for(int asc : arr1) {
			System.out.print(asc + " ");
		}
		System.out.println("");
		for(String asc : arr2) {
			System.out.print(asc + " ");
		}
	}
}
  • 실행 결과

[↘배열 내림차순 정렬하기]

  • int 타입일 때는 integer 타입으로 변경 후, 정렬을 해야 한다.
Integer[] arr3 = Arrays.stream(arr).boxed().toArray(Integer[]::new);
  • Collections.reverseOrder() 사용하여 내림차순 정렬하기
Arrays.sort(arr, Collections.reverseOrder());
  • 소스 코드
import java.util.Arrays;
import java.util.Collections;

public class SortExample {
	
	public static void main(String[] args) {
		int[] arr1 = {10, 30, 20, 50, 40};
		String[] arr2 = {"가", "다", "나", "마", "라"};
		
		System.out.println("정렬 전 결과");
		for(int arr : arr1) {
			System.out.print(arr + " ");
		}
		System.out.println("");
		for(String arr : arr2) {
			System.out.print(arr + " ");
		}
		
		System.out.println("\n=============");
		
		//내림차순 정렬(DESC)
		System.out.println("내림차순 정렬 결과");
		//int -> integer
		Integer[] arr3 = Arrays.stream(arr1).boxed().toArray(Integer[]::new);
		Arrays.sort(arr3, Collections.reverseOrder());
		//String 타입
		Arrays.sort(arr2, Collections.reverseOrder());
		for(int desc : arr3) {
			System.out.print(desc + " ");
		}
		System.out.println("");
		for(String desc : arr2) {
			System.out.print(desc + " ");
		}
		
	}
}
  • 실행 결과

[배열의 일부만 정렬하기]

  • Arrays.sort 메소드를 사용하여 정렬의 시작과 끝 인덱스를 설정해준다.
Arrays.sort(arr, 0, 3);
  • 소스 코드
import java.util.Arrays;
import java.util.Collections;

public class SortExample {
	
	public static void main(String[] args) {
		int[] arr1 = {10, 30, 20, 50, 40};
		String[] arr2 = {"가", "다", "나", "마", "라"};
		
		System.out.println("정렬 전 결과");
		for(int arr : arr1) {
			System.out.print(arr + " ");
		}
		System.out.println("");
		for(String arr : arr2) {
			System.out.print(arr + " ");
		}
		
		System.out.println("\n=============");
		
		//배열의 일부만 오름차순 정렬(ASC)
		System.out.println("인덱스 0~3까지 오름차순 정렬 결과");
		Arrays.sort(arr1, 0, 3);
		Arrays.sort(arr2, 0, 3);
		for(int asc : arr1) {
			System.out.print(asc + " ");
		}
		System.out.println("");
		for(String asc : arr2) {
			System.out.print(asc + " ");
		}
		
	}
}
  • 실행 결과

 

반응형

'Back end > Java' 카테고리의 다른 글

[Java] Stream의 filter() 메소드 (ft.collect())  (0) 2024.02.29
[Java] for-loop를 Stream forEach로 변경하기  (0) 2024.02.28
[Java] Array(배열) 객체 복사하기  (0) 2023.09.20
[Java] 배열을 문자열로 만드는 메서드 join (예제 포함)  (0) 2023.09.13
[Java] 문자열 반복 메서드 repeat (예제 포함)  (0) 2023.09.12
'Back end/Java' 카테고리의 다른 글
  • [Java] for-loop를 Stream forEach로 변경하기
  • [Java] Array(배열) 객체 복사하기
  • [Java] 배열을 문자열로 만드는 메서드 join (예제 포함)
  • [Java] 문자열 반복 메서드 repeat (예제 포함)
Kim-SooHyeon
Kim-SooHyeon
개발일기 및 알고리즘, 블로그 운영에 대한 글을 포스팅합니다. :) 목표: 뿌리 깊은 개발자 되기
    반응형
  • Kim-SooHyeon
    soo_vely의 개발로그
    Kim-SooHyeon
  • 전체
    오늘
    어제
    • 분류 전체보기 (258)
      • 알고리즘 (108)
        • 자료구조 (3)
        • Java (104)
        • Python (1)
      • Back end (73)
        • Spring Project (28)
        • Java (23)
        • API (1)
        • Python (0)
        • Django (3)
        • Linux (1)
        • 서버 (2)
        • 에러로그 (11)
        • 부스트 코스 (1)
      • Front end (9)
        • HTML, CSS (4)
        • JavaScript (4)
        • JQuery (0)
      • 기타 프로그래밍 (4)
        • Android Studio (1)
        • Arduino (2)
        • Azure Fundamental(AZ-900) (1)
      • 개발도구 (24)
        • IntelliJ (2)
        • Git (12)
        • SVN (0)
        • Eclipse (2)
        • 기타 Tool (8)
      • Database (17)
        • Oracle (11)
        • MySQL (0)
        • H2 Database (3)
        • ORM & JPA (1)
      • 자격증 (10)
        • 컴활 1급 (7)
        • 컴활 2급 (2)
        • SQLD (1)
      • 기타 (13)
        • 블로그 운영 (6)
        • 문서 (1)
        • 기타 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    jpa
    단계별풀기
    Git
    github
    BOJ
    java
    알고리즘
    springboot
    solved.ac
    구현
    배열
    문자열
    백준알고리즘
    for문
    백준 자바
    백준
    1차원 배열
    spring
    Oracle
    오라클
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Kim-SooHyeon
[JAVA] int, String배열의 오름차순, 내림차순 정렬 개념 및 예제(Arrays.sort(), Collections.reverseOrder())
상단으로

티스토리툴바