Java 문자열 메소드 정리
Java에서 문자열(String)은 코딩 테스트에서 자주 사용되는 기본 자료형이다. 아래는 코딩 테스트를 대비하여 자주 사용하는 문자열 관련 메소드를 간단히 정리한 내용이다.
String 주요 메소드
메소드 | 설명 | 예시 |
length() | 문자열의 길이를 반환한다. | "abc".length() → 3 |
charAt(i) | i번째 문자를 반환한다. | "abc".charAt(0) → 'a' |
substring(start) | start 인덱스부터 끝까지 자른 문자열을 반환한다. | "hello".substring(2) → "llo" |
substring(start, end) | start부터 end-1까지의 부분 문자열을 반환한다. | "hello".substring(1, 4) → "ell" |
contains("abc") | 지정한 문자열이 포함되어 있는지를 확인한다. | "abcde".contains("cd") → true |
indexOf("a") | 지정한 문자가 처음 등장하는 위치를 반환한다. | "banana".indexOf("a") → 1 |
lastIndexOf("a") | 지정한 문자가 마지막으로 등장하는 위치를 반환한다. | "banana".lastIndexOf("a") → 5 |
split("구분자") | 구분자를 기준으로 문자열을 나눈 배열을 반환한다. | "a,b,c".split(",") → ["a", "b", "c"] |
trim() | 문자열 앞뒤의 공백을 제거한 결과를 반환한다. | " hi ".trim() → "hi" |
replace("a", "b") | 지정한 문자 또는 문자열을 다른 값으로 대체한다. | "abc".replace("a", "z") → "zbc" |
equals("abc") | 문자열이 같은지를 비교한다. | "abc".equals("abc") → true |
equalsIgnoreCase("ABC") | 대소문자를 무시하고 문자열을 비교한다. | "abc".equalsIgnoreCase("ABC") → true |
toLowerCase() | 모든 문자를 소문자로 변환한다. | "ABC".toLowerCase() → "abc" |
toUpperCase() | 모든 문자를 대문자로 변환한다. | "abc".toUpperCase() → "ABC" |
toCharArray() | 문자열을 문자 배열로 변환한다. | "abc".toCharArray() → ['a','b','c'] |
+ 연산 | 문자열을 이어붙인다. | "a" + "b" → "ab" |
Arrays.sort(char[]) | 문자 배열을 사전순으로 정렬한다. | "cba" → ['a','b','c'] |
StringBuilder는 String과 다를까?
StringBuilder는 문자열을 자주 변경할 때 사용하는 클래스이다. String은 불변이기 때문에 문자열을 자주 연결하거나 수정하는 경우 StringBuilder를 사용하면 성능이 향상된다.
StringBuilder 주요 메소드
메소드 | 설명 |
append("문자열") | 문자열을 이어붙인다. |
insert(index, "문자열") | 지정한 위치에 문자열을 삽입한다. |
delete(start, end) | 지정한 범위의 문자열을 삭제한다. |
replace(start, end, "문자열") | 지정한 범위의 문자열을 다른 문자열로 교체한다. |
reverse() | 문자열을 뒤집는다. |
toString() | StringBuilder 객체를 String으로 변환한다. |
charAt(i) | i번째 문자를 반환한다. |
setCharAt(i, 'c') | i번째 문자를 수정한다. |
length() | 문자열의 길이를 반환한다. |
참고: contains(), split() 등 String의 일부 메소드는 StringBuilder에서 직접 사용할 수 없으며, toString()으로 변환 후 사용해야 한다.
StringBuilder sb = new StringBuilder("hello");
if (sb.toString().contains("el")) {
System.out.println("포함됨");
}
요약
- 문자 하나씩 순회 → charAt() 또는 toCharArray() 사용
- 문자열 자르기 → substring(), split()
- 문자열 많이 바꾸기 → StringBuilder 사용
- 문자 정렬 → toCharArray() + Arrays.sort()
문자열은 거의 모든 문제에서 사용되므로, 위 메소드들을 자주 사용해보며 익혀두는 것이 중요하다.
'코테' 카테고리의 다른 글
[알고리즘]투 포인터(Two Pointer) 알고리즘 - 백준 2018(수들의 합 5) (0) | 2025.04.15 |
---|---|
[코딩 테스트] Java 필수 문법 정리 – 입출력, 자료구조 (0) | 2025.03.24 |