코딩 스쿨 Java

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

Java_Convert String to Array

자바에서 문자열을 배열로 변환하는 방법 (Java Convert String to Array)

자바에서는 문자열을 배열로 변환하는 다양한 방법이 있습니다. 문자열을 문자 배열로 변환하거나, 특정 구분자를 기준으로 문자열을 단어 배열로 나눌 수 있습니다. 여기서는 문자열을 문자 배열과 단어 배열로 변환하는 방법을 다룹니다.

1. 문자열을 문자 배열로 변환하기

문자열을 문자 배열로 변환하려면 자바의 toCharArray() 메서드를 사용할 수 있습니다. 이 메서드는 문자열의 각 문자를 char 배열로 변환하여 반환합니다.

1.1 toCharArray() 메서드를 사용한 문자열을 문자 배열로 변환

public class Main {
    public static void main(String[] args) {
        String str = "Hello, World!";

        // 문자열을 문자 배열로 변환
        char[] charArray = str.toCharArray();

        // 문자 배열 출력
        System.out.println("문자 배열: ");
        for (char c : charArray) {
            System.out.print(c + " ");
        }
    }
}

설명:

  • toCharArray() 메서드는 문자열을 문자 배열로 변환합니다.
  • 변환된 char[] 배열을 반복문을 통해 출력합니다.

출력:

문자 배열:
H e l l o ,   W o r l d !

2. 문자열을 구분자로 나눠 배열로 변환하기

문자열을 특정 구분자를 기준으로 단어 배열로 변환하려면 split() 메서드를 사용할 수 있습니다. 이 메서드는 구분자를 기준으로 문자열을 나누고, 그 결과를 문자열 배열로 반환합니다.

2.1 split() 메서드를 사용한 문자열을 단어 배열로 변환

public class Main {
    public static void main(String[] args) {
        String str = "Hello, welcome to the world of Java";

        // 공백을 기준으로 문자열을 단어 배열로 변환
        String[] wordsArray = str.split(" ");

        // 단어 배열 출력
        System.out.println("단어 배열: ");
        for (String word : wordsArray) {
            System.out.println(word);
        }
    }
}

설명:

  • split(" "): 공백을 기준으로 문자열을 나눕니다. 각 단어는 배열의 요소로 저장됩니다.
  • for-each 반복문을 사용해 배열의 각 단어를 출력합니다.

출력:

단어 배열:
Hello,
welcome
to
the
world
of
Java

2.2 다른 구분자를 사용한 문자열을 배열로 변환

다양한 구분자를 사용할 수 있으며, 쉼표(,), 마침표(.), 콜론(:) 등 여러 구분자를 조합한 정규 표현식도 가능합니다.

public class Main {
    public static void main(String[] args) {
        String str = "apple,banana,grape:orange.mango";

        // 쉼표, 콜론, 마침표를 기준으로 문자열을 나눔
        String[] fruitsArray = str.split("[,.:]");

        // 배열 출력
        System.out.println("과일 배열: ");
        for (String fruit : fruitsArray) {
            System.out.println(fruit);
        }
    }
}

설명:

  • split("[,.:]"): 쉼표, 콜론, 마침표를 구분자로 사용하여 문자열을 나눕니다.
  • 정규 표현식에서 [] 안에 여러 구분자를 지정하여 사용할 수 있습니다.

출력:

과일 배열:
apple
banana
grape
orange
mango

3. 문자열을 특정 길이로 나누어 배열로 변환하기

문자열을 고정된 길이로 나누어 배열로 변환할 수도 있습니다. 이를 위해 substring() 메서드를 사용하여 문자열을 일정한 길이로 잘라 배열에 저장하는 방법을 사용할 수 있습니다.

3.1 문자열을 일정한 길이로 나눠 배열로 변환

public class Main {
    public static void main(String[] args) {
        String str = "abcdefghij";
        int chunkSize = 2;  // 자를 길이

        // 결과 배열의 크기 계산
        int arrayLength = (int) Math.ceil((double) str.length() / chunkSize);
        String[] resultArray = new String[arrayLength];

        // 문자열을 일정한 길이로 나눠 배열에 저장
        for (int i = 0; i < arrayLength; i++) {
            int start = i * chunkSize;
            int end = Math.min(start + chunkSize, str.length());
            resultArray[i] = str.substring(start, end);
        }

        // 배열 출력
        System.out.println("분할된 문자열 배열: ");
        for (String part : resultArray) {
            System.out.println(part);
        }
    }
}

설명:

  • substring(start, end): 문자열의 일부분을 잘라내는 메서드입니다. 시작 인덱스부터 끝 인덱스 직전까지의 문자열을 반환합니다.
  • *Math.ceil()*을 사용하여 결과 배열의 크기를 계산합니다.
  • *chunkSize*에 따라 일정한 길이로 문자열을 나누어 배열로 저장합니다.

출력:

분할된 문자열 배열:
ab
cd
ef
gh
ij

4. 문자열을 Stream을 사용해 배열로 변환하기 (자바 8 이상)

자바 8 이상에서는 Stream API를 사용하여 문자열을 쉽게 배열로 변환할 수 있습니다. Stream API는 선언적이고 간결한 코드를 작성하는 데 매우 유용합니다.

4.1 Stream을 사용해 문자열을 문자 배열로 변환

import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        String str = "Hello, World!";

        // Stream을 사용해 문자열을 문자 배열로 변환
        Character[] charArray = str.chars().mapToObj(c -> (char) c).toArray(Character[]::new);

        // 문자 배열 출력
        System.out.println("문자 배열: ");
        for (Character c : charArray) {
            System.out.print(c + " ");
        }
    }
}

설명:

  • chars(): 문자열의 각 문자를 스트림으로 변환하는 메서드입니다.
  • mapToObj(): 스트림의 각 요소를 객체로 매핑하는 메서드입니다. 여기서 각 정수를 **char*로 변환합니다.
  • toArray(): 스트림을 배열로 변환하는 메서드입니다.

출력:

문자 배열:
H e l l o ,   W o r l d !

요약

  • toCharArray(): 문자열을 문자 배열로 변환하는 가장 간단한 방법입니다.
  • split(): 문자열을 특정 구분자를 기준으로 배열로 변환할 때 사용합니다. 공백, 쉼표, 마침표 등 다양한 구분자를 사용할 수 있습니다.
  • substring(): 문자열을 일정한 길이로 나누어 배열로 변환할 수 있습니다.
  • Stream API: 자바 8 이상에서 제공되며, 선언적이고 간결하게 문자열을 배열로 변환할 수 있습니다.

각 방법은 상황에 맞게 문자열을 배열로 변환하는 데 사용할 수 있습니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com