Java/문자열

[Java]문자 타입의 List를 문자열로 변환하는 방법

DevStory 2022. 8. 19.

문자 타입의 List를 문자열로 변환하는 방법

이번 포스팅은 문자(Character) 타입의 List를 문자열로 변환하는 두 가지 방법을 소개합니다.

- 반복문

- Stream API

 

Stream API를 사용하는 방법은 Java의 버전이 1.8 이상인 경우 동작합니다.

 

문자 List를 문자열로 변환하기 위해 외부 라이브러리 Guava와 Apahce Commons를 사용할 수 있지만, 이번 포스팅에서 설명하지 않습니다.


방법 1. 반복문

가장 심플한 방법으로 반복문을 사용하여 Character 타입의 List를 문자열로 변환합니다.

 

변환 방법

순서 1. 값이 없는 StringBuilder 객체를 생성합니다.

순서 2. List를 순회하여 각 요소를 StringBuilder 객체에 추가합니다.

순서 3. StringBuilder 객체에서 toString() 메서드를 호출합니다.

public static void main(String args[]) {
  List<Character> charList = new ArrayList<>(Arrays.asList(
        'H', 'i', ' ', 'J', 'a', 'v', 'a', '!'
  ));

  StringBuilder sb = new StringBuilder();

  for (Character ch : charList) {
    sb.append(ch);
  }

  String strValue = sb.toString();

  System.out.println("List: " + charList);
  System.out.println("String: " + strValue);
}

[실행 결과]

List: [H, i,  , J, a, v, a, !]
String: Hi Java!

방법 2. Stream API

또 다른 방법으로 Java 1.8부터 사용할 수 있는 Stream API를 사용합니다.

 

변환 방법

순서 1. List를 스트림으로 변환합니다.

순서 2. 스트림으로 변환된 List를 Collectors의 joining() 메서드를 사용하여 문자열로 변환합니다.

public static void main(String args[]) {
  List<Character> charList = new ArrayList<>(Arrays.asList(
        'H', 'i', ' ', 'J', 'a', 'v', 'a', '!'
  ));

  String strValue = charList.stream()
                  .map(String::valueOf)
                  .collect(Collectors.joining());

  System.out.println("List: " + charList);
  System.out.println("String: " + strValue);
}

[실행 결과]

List: [H, i,  , J, a, v, a, !]
String: Hi Java!
반응형

댓글