이 글에서는 Java에서 ArrayList(배열 목록)를 오름차순(ascending order)으로 정렬하는 방법을 알아보겠습니다.
리스트(List)는 요소들을 순차적으로 저장하고 접근할 수 있는 순서가 있는 컬렉션입니다. 인덱스 기반 메서드를 제공하여 요소의 삽입, 수정, 삭제, 검색이 가능하며, 중복 요소도 허용합니다.
그럼 실제 예시를 통해 살펴보겠습니다.
입력값
입력 리스트: [java, coding, is, fun]
출력값
정렬된 리스트: [coding, fun, is, java]
알고리즘
Step 1 - 시작 Step 2 - input_list라는 이름의 ArrayList를 선언한다. Step 3 - 값을 정의한다. Step 4 - Collections.sort() 함수를 사용해 리스트를 정렬한다. Step 5 - 결과를 출력한다. Step 6 - 종료
예제 1: main 함수 안에서 처리하기
첫 번째 방법은 모든 연산을 하나의 main 함수 안에서 함께 수행하는 방식입니다.
import java.util.*;
public class Demo {
public static void main(String args[]){
ArrayList<String> input_list = new ArrayList<String>();
input_list.add("java");
input_list.add("coding");
input_list.add("is");
input_list.add("fun");
System.out.println("정의된 리스트: " + input_list);
Collections.sort(input_list);
System.out.println("정렬된 리스트: " + input_list);
}
}실행 결과
정의된 리스트: [java, coding, is, fun] 정렬된 리스트: [coding, fun, is, java]
예제 2: 객체 지향 방식으로 함수 분리하기
두 번째 방법은 정렬 작업을 별도의 함수로 캡슐화하여 객체 지향 프로그래밍(OOP) 스타일로 구현하는 것입니다. 코드의 재사용성과 가독성이 향상됩니다.
import java.util.*;
public class Demo {
static void sort(ArrayList<String> input_list){
Collections.sort(input_list);
System.out.println("정렬된 리스트: " + input_list);
}
public static void main(String args[]){
ArrayList<String> input_list = new ArrayList<String>();
input_list.add("java");
input_list.add("coding");
input_list.add("is");
input_list.add("fun");
System.out.println("정의된 리스트: " + input_list);
sort(input_list);
}
}실행 결과
정의된 리스트: [java, coding, is, fun] 정렬된 리스트: [coding, fun, is, java]
마무리
Java에서 ArrayList를 오름차순으로 정렬하는 가장 간단한 방법은 Collections.sort() 메서드를 사용하는 것입니다. 문자열 리스트는 사전 순(알파벳 순)으로 정렬되며, 숫자 리스트는 값의 크기순으로 정렬됩니다. 또한 내림차순 정렬이 필요하다면 Collections.reverseOrder()를 인자로 전달하면 됩니다. 상황에 맞게 main 함수에 직접 구현하거나 별도의 메서드로 분리하여 활용해 보세요.