Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바(Java)에서 배열을 컬렉션으로 변환하는 방법 완벽 가이드

이 글에서는 배열(Array)을 컬렉션(Collection)으로 변환하는 방법을 단계별로 알아보겠습니다. 컬렉션은 객체 그룹을 저장하고 조작할 수 있는 표준화된 아키텍처를 제공하는 자바의 핵심 프레임워크입니다. 자바 컬렉션을 활용하면 검색, 정렬, 삽입, 조작, 삭제 등 데이터와 관련된 거의 모든 작업을 손쉽게 수행할 수 있습니다.

배열을 컬렉션으로 변환하는 가장 간단한 방법은 java.util.Arrays 클래스가 제공하는 asList() 메서드를 사용하는 것입니다.

문제 시연

입력값

입력 배열: [Java, Python, Scala, Shell]

기대 출력값

배열을 리스트로 변환한 후의 요소: [Java, Python, Scala, Shell]

알고리즘

1단계 - 시작(START)
2단계 - input_array라는 이름의 문자열 배열과 result_list라는 이름의 리스트를 선언한다.
3단계 - 배열에 값을 정의한다.
4단계 - Arrays.asList(input_array)를 결과 리스트에 할당하여 문자열 배열을 컬렉션으로 변환한다.
5단계 - 결과를 화면에 출력한다.
6단계 - 종료(STOP)

예제 1: main 메서드에서 모든 로직 처리하기

아래 예제는 모든 연산을 하나의 main 메서드 안에서 함께 처리하는 방식입니다.

import java.util.*;
public class Demo {
   public static void main(String args[]){
      String input_array[] = { "Java", "Python", "Scala", "Shell" };
      System.out.println("정의된 배열: " + Arrays.toString(input_array));
      List result_list = Arrays.asList(input_array);
      System.out.println("
배열을 리스트로 변환한 후의 요소: " + result_list);
   }
}

실행 결과

정의된 배열: [Java, Python, Scala, Shell]

배열을 리스트로 변환한 후의 요소: [Java, Python, Scala, Shell]

예제 2: 객체 지향 방식으로 함수 분리하기

다음 예제는 객체 지향 프로그래밍(OOP) 원칙에 따라 변환 로직을 별도의 메서드로 캡슐화하여 코드의 재사용성과 가독성을 높인 방식입니다.

import java.util.*;
public class Demo {
   static void convert_to_list(String input_array[]){
      List result_list = Arrays.asList(input_array);
      System.out.println("
배열을 리스트로 변환한 후의 요소: " + result_list);
   }
   public static void main(String args[]){
      String input_array[] = { "Java", "Python", "Scala", "Shell" };
      System.out.println("정의된 배열: " + Arrays.toString(input_array));
      convert_to_list(input_array);
   }
}

실행 결과

정의된 배열: [Java, Python, Scala, Shell]

배열을 리스트로 변환한 후의 요소: [Java, Python, Scala, Shell]

참고: Arrays.asList() 사용 시 주의사항

Arrays.asList()가 반환하는 리스트는 고정 크기(fixed-size) 리스트라는 점에 유의해야 합니다. 이 리스트는 원본 배열과 데이터를 공유하기 때문에 요소를 추가하거나 삭제하면 UnsupportedOperationException이 발생합니다.

요소의 추가·삭제가 가능한 일반적인 리스트가 필요하다면, 반환된 리스트를 새로운 ArrayList로 감싸서 생성하면 됩니다.

List<String> modifiableList = new ArrayList<>(Arrays.asList(input_array));

이렇게 하면 배열 데이터를 기반으로 하면서도 자유롭게 조작할 수 있는 컬렉션을 얻을 수 있습니다.