JAVA
[JAVA] - 문자열 한 글자씩 분리하는 방법
nam_ji
2023. 12. 4. 23:45
split() / toCharArray / charAt() / Stream
split()
- split()은 지정된 문자열 x를 기준으로 문자열을 나누는 메소드입니다.
즉, 괄호 안에 파라미터를 입력하면 파라미터의 기준대로 문자열을 나눈다는 의미입니다. - split(String regex)
package com.namji95.javabasic;
public class Separate_the_String_by_OneLetter {
public static void main(String[] args) {
String str = "MyString";
// split()
System.out.println("--------split--------");
for (String s : str.split("")) {
System.out.print(s + " ");
}
}
}
--------split--------
M y S t r i n g
toCharArray()
- 문자열을 한 글자씩 나눠 char 타입의 배열에 담아 반환하는 메서드입니다.
- 배열을 생성하여 처리하기 때문에 속도가 느립니다.
package com.namji95.javabasic;
public class Separate_the_String_by_OneLetter {
public static void main(String[] args) {
String str = "MyString";
// toCharArray
System.out.println("--------toCharArray--------");
for (char c : str.toCharArray()) {
System.out.print(c + " ");
}
}
}
--------toCharArray--------
M y S t r i n g
charAt()
- charAt() 괄호 안에 인덱스 값을 주면 그 인덱스에 해당하는 문자가 반환됩니다.
- 한글자씩 반환하며
toCharArray() 메소드에 비해 내부적인 처리속도가 빠르다고 합니다. (배열을 생성하지 않기 때문에)
package com.namji95.javabasic;
public class Separate_the_String_by_OneLetter {
public static void main(String[] args) {
String str = "MyString";
// charAt
System.out.println("--------charAt--------");
for (int i = 0; i < str.length(); i++) {
System.out.print(str.charAt(i) + " ");
}
}
}
--------charAt--------
M y S t r i n g
stream
- chars() 메소드를 이용해 IntStream화합니다.
- char 타입의 스트림으로 변환합니다.
- forEach를 이용해 한 글자씩 분리합니다.
package com.namji95.javabasic;
public class Separate_the_String_by_OneLetter {
public static void main(String[] args) {
String str = "MyString";
// stream
System.out.println("--------charAt--------");
str.chars() // (IntStream)
.mapToObj(i -> (char) i) // Stream<Character> 으로 변환
.forEach(i -> System.out.print(i + " ")); // 출력
}
}
--------Stream--------
M y S t r i n g