Java에서 제공하는 클래스인 `StringTokenizer`는 문자열의 형태를 지정된 구분자(delimiter)를 기준으로 하여 토큰(token) 형식으로 분리하는 역할을 한다. 이 클래스는 주로 텍스트 데이터를 파싱하거나 분리할 때 사용된다. `StingTokenizer`는 간단한 문자열 파싱에 유용하지만, 더 복잡한 문자열 처리는 String의 `split()` 메서드나 정규식을 사용하는 것이 더 적합할 수 있다.
StringTokenizer 주요 메서드
hasMoreTokens(): 아직 처리하지 않은 토큰이 남아있는지 여부를 반환
nextToken(): 다음 토큰을 반환하고 내부 포인터를 다음으로 이동시킴
nextToken(String delimiter): 지정된 delimiter를 사용하여 다음 토큰을 반환
nextToken() 메서드 작동 방식
1. StringTokenizer 객체가 생성될 때 입력된 문자열을 지정된 구분자(delimiter)로 분리하여 토큰들로 나눔
2. nextToken() 메서드가 호출되면 현재 내부 포인터가 가리키는 위치의 토큰을 반환
3. 내부 포인터는 다음 토큰으로 이동
StringTokenizer 사용, nextToken() 작동
import java.util.StringTokenizer;
public class StringTokenizerExample {
public static void main(String[] args) {
String input = "Hello,World,Java";
StringTokenizer st = new StringTokenizer(input, ",");
System.out.println("Initial Position: " + st.toString());
while (st.hasMoreTokens()) {
String token = st.nextToken();
System.out.println("Token: " + token);
System.out.println("Position after nextToken(): " + st.toString());
}
}
}
/*
Initial Position: java.util.StringTokenizer@hashcode // 내부 포인터 시작
Token: Hello
Position after nextToken(): java.util.StringTokenizer@hashcode // 내부 포인터 이동
Token: World
Position after nextToken(): java.util.StringTokenizer@hashcode // 내부 포인터 이동
Token: Java
Position after nextToken(): java.util.StringTokenizer@hashcode // 내부 포인터 이동
*/
'알아가기 > Java' 카테고리의 다른 글
[Java] Arrays.stream() 및 sum() 메서드 (0) | 2024.01.25 |
---|---|
[Java] Arrays.stream() 및 Arrays.copyOfRange() 함수 (0) | 2023.08.29 |
[Java] compareTo() 메서드 이해하기 (0) | 2023.07.16 |
[Java] 조회값을 반환하거나 기본값을 반환하는 getOrDefault (0) | 2023.06.15 |
[Java] 중복 없는 해시 HashSet (0) | 2023.05.28 |