이 글에서는 ArrayList를 문자열(String)로 변환하는 방법과 그 반대로 문자열을 배열로 변환하는 방법을 알아봅니다. ArrayList 클래스는 java.util 패키지에 포함된 크기 조절이 가능한(resizable) 배열입니다. Java에서 기본 배열(built-in array)과 ArrayList의 가장 큰 차이점은 기본 배열은 한 번 생성하면 크기를 변경할 수 없다는 점입니다.
아래는 실제 변환 과정을 보여주는 예시입니다.
입력 및 출력 예시
입력이 다음과 같다고 가정해 보겠습니다.
입력 문자열: Java Program
원하는 출력 결과는 다음과 같습니다.
문자열에서 변환된 배열:
J a v a P r o g r a m
알고리즘
1단계 - 시작
2단계 - 필요한 변수를 선언합니다.
3단계 - 값을 정의합니다.
4단계 - 배열을 생성하고 'add' 메서드를 사용해 요소를 추가합니다.
5단계 - 리스트를 콘솔에 출력합니다.
6단계 - 이전 배열과 같은 크기의 빈 배열을 새로 생성합니다.
7단계 - 'toString' 메서드를 사용해 문자열로 변환합니다.
8단계 - 요소를 순회하며 콘솔에 출력합니다.
9단계 - 종료
예제 1: ArrayList를 문자열로 변환하기
다음 예제에서는 toString() 메서드를 사용하여 요소가 담긴 ArrayList를 하나의 문자열로 변환합니다.
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
System.out.println("필요한 패키지가 임포트되었습니다");
ArrayList input_array= new ArrayList<>();
input_array.add("Java");
input_array.add("Python");
input_array.add("Scala");
input_array.add("JavaScript");
System.out.println("정의된 배열: " + input_array);
String result_string = input_array.toString();
System.out.println("\n변환 결과 문자열: " + result_string);
}
}
실행 결과
필요한 패키지가 임포트되었습니다
정의된 배열: [Java, Python, Scala, JavaScript]
변환 결과 문자열: [Java, Python, Scala, JavaScript]
예제 2: 문자열을 배열로 변환하기
이번에는 반대로 문자열을 char 배열로 변환합니다. 문자열의 각 문자를 charAt() 메서드로 하나씩 읽어 배열에 저장한 뒤 출력합니다.
public class Demo {
public static void main(String args[]){
String input_string = "Java Program";
System.out.println("정의된 문자열: " + input_string);
char[] result_array = new char[input_string.length()];
for (int i = 0; i < input_string.length(); i++) {
result_array[i] = input_string.charAt(i);
}
System.out.println("문자열에서 변환된 배열:");
for (char c : result_array) {
System.out.print(c + " ");
}
}
}실행 결과
정의된 문자열: Java Program
문자열에서 변환된 배열:
J a v a P r o g r a m
정리하면, ArrayList를 문자열로 바꿀 때는 toString() 메서드를 활용하고, 문자열을 개별 문자 배열로 나눌 때는 charAt() 메서드와 반복문을 조합하면 됩니다. 두 방식 모두 Java에서 데이터 형태를 유연하게 변환할 때 자주 사용되는 기본적인 기법이므로 꼭 익혀두시기 바랍니다.