문자 타입의 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!
반응형
'Java > 문자열' 카테고리의 다른 글
[Java]문자열을 Boolean으로 변환(String to Boolean) (0) | 2022.09.02 |
---|---|
[Java]StringBuilder 특정 문자열의 위치 가져오는 방법 (0) | 2022.08.19 |
[Java]특정 위치의 문자 변경하는 방법 (0) | 2022.08.19 |
[Java]StringBuilder 마지막 문자 제거하는 방법 (0) | 2022.08.19 |
[Java]StringBuilder 빈 값으로 초기화하는 방법 (0) | 2022.08.19 |
댓글