Java - 260702

code++·2026년 7월 2일

Java String & StringBuilder 정리 (코딩테스트)

1. String

특징

  • 문자열을 저장하는 객체
  • 문자열을 수정하면 새로운 객체가 생성됨
String str = "Hello";
str += " World";

기존 문자열이 수정되는 것이 아니라 새로운 String 객체가 만들어진다.


자주 사용하는 메서드

1. length()

문자열 길이 반환

String str = "Hello";

System.out.println(str.length()); // 5

시간복잡도 : O(1)


2. charAt(index)

특정 위치 문자 반환

String str = "Hello";

System.out.println(str.charAt(1)); // e

시간복잡도 : O(1)


3. substring()

문자열 자르기

String str = "Hello";

System.out.println(str.substring(1));     // ello
System.out.println(str.substring(1,4));   // ell
  • 시작 포함
  • 끝 미포함

4. indexOf()

문자의 위치 찾기

String str = "banana";

System.out.println(str.indexOf("a")); // 1
System.out.println(str.indexOf("z")); // -1

없으면 -1 반환


5. contains()

포함 여부 확인

String str = "Hello";

System.out.println(str.contains("ell")); // true

반환형 : boolean


6. equals()

문자열 비교

String a = "abc";
String b = "abc";

System.out.println(a.equals(b));

※ == 사용 금지


7. split()

문자열 분리

String str = "A,B,C";

String[] arr = str.split(",");

결과

A
B
C

8. replace()

문자 변경

String str = "Hello";

System.out.println(str.replace("l","x"));

출력

Hexxo

9. toUpperCase()

대문자 변환

str.toUpperCase();

10. toLowerCase()

소문자 변환

str.toLowerCase();

String에서 자주 나오는 코테 패턴

  • 문자 하나씩 탐색(charAt)
  • 문자열 자르기(substring)
  • 문자열 비교(equals)
  • 문자열 포함 여부(contains)
  • 문자열 분리(split)
  • 특정 문자 찾기(indexOf)
  • 대소문자 변환

StringBuilder

특징

  • 문자열 수정이 많을 때 사용
  • String보다 훨씬 빠름
  • 가변(Mutable)

생성

StringBuilder sb = new StringBuilder();

또는

StringBuilder sb = new StringBuilder("Hello");

append()

문자열 추가

sb.append("A");
sb.append("B");

결과

AB

insert()

문자 삽입

sb.insert(1,"X");
ABC

↓

AXBC

delete()

삭제

sb.delete(1,3);
  • 시작 포함
  • 끝 미포함

deleteCharAt()

한 글자 삭제

sb.deleteCharAt(2);

replace()

문자 변경

sb.replace(1,3,"AB");

reverse()

문자열 뒤집기

sb.reverse();

코테에서 매우 자주 사용


setCharAt()

특정 문자 변경

sb.setCharAt(2,'A');

charAt()

특정 문자 조회

sb.charAt(1);

toString()

StringBuilder → String 변환

String result = sb.toString();

String vs StringBuilder

StringStringBuilder
불변 객체가변 객체
수정 시 새 객체 생성기존 객체 수정
수정이 많으면 느림수정이 많아도 빠름
문자열 저장문자열 수정

코테에서 언제 사용할까?

String

  • 문자열 비교
  • 문자열 자르기
  • 문자 탐색
  • split 사용

StringBuilder

  • 문자열 이어붙이기
  • 문자열 뒤집기(reverse)
  • 문자열 수정
  • 반복문에서 문자열 생성

꼭 외워야 하는 메서드

String

  • length()
  • charAt()
  • substring()
  • equals()
  • contains()
  • split()
  • indexOf()
  • replace()
  • toUpperCase()
  • toLowerCase()

StringBuilder

  • append()
  • insert()
  • delete()
  • deleteCharAt()
  • replace()
  • reverse()
  • setCharAt()
  • charAt()
  • toString()
profile
일상

0개의 댓글