[Java Syntax] StringBuilder (문자열 class)

2023. 11. 16. 22:17·Java/Java Syntax
728x90
반응형

자바에서 문자열을 효율적으로 처리하기 위해 사용하는

StringBuilder를 소개해드리겠습니다.

 

1. What is StringBuilder?

'StringBuilder'는 가변(mutable)하며, 문자열의 변경 작업이 필요한 경우에 사용됩니다. 

반면 'String' 클래스는 불변(immutable)하므로 문자열을 변경할 때마다 새로운 문자열 객체가 생성됩니다.

 

StringBuilder는 문자열을 빠르게 수정하고 조작할 수 있도록 설계되어 있습니다.

여러가지 메서드를 통해 문자열을 추가, 삭제, 문자열의 일부를 교체하는 작업등이 가능합니다.

 

일반적으로 문자열을 빈번하게 변경해야 하는 경우에 StringBuilder를 사용하는 것이 성능상에 좋습니다. 

예를 들자면 반복문 안에서 문자열을 계속해서 더하거나 변경하는 경우에는 StringBuilder를 사용하면 매번 새로운 문자열 객체를 생성하지 않고 기존 객체를 수정하여 성능을 향상시킬 수 있기 때문입니다.

 

2. StringBuilder 간단 예제

1) appand() : 문자열 추가

2) insert() : 문자열 삽입

3) delete() : 문자열 삭제

4) toString() : 'String'로 변환

public class StringBuilderExample {
    public static void main(String[] args) {
        StringBuilder stringBuilder = new StringBuilder();

        // 문자열 추가
        stringBuilder.append("Hello, ");
        stringBuilder.append("World!");

        // 문자열 삽입
        stringBuilder.insert(7, "Java ");

        // 문자열 삭제
        stringBuilder.delete(5, 7);

        // 문자열 출력
        System.out.println(stringBuilder.toString());
    }
}

 

3. StringBuilder 추가 메서드

1) length() : 현재 StringBuilder에 있는 1문자열의 길이를 반환

StringBuilder stringBuilder = new StringBuilder("Hello, World!");
int length = stringBuilder.length(); // length는 13

 

2) charAt(int index) : 주어진 인덱스에 있는 문자 반환

StringBuilder stringBuilder = new StringBuilder("Hello, World!");
char charAtIndex = stringBuilder.charAt(7); // charAtIndex는 'W'

 

3) substring(int start) or substring(int start, int end)  : 문자열의 일부분 추출

StringBuilder stringBuilder = new StringBuilder("Hello, World!");
String substring1 = stringBuilder.substring(7); // "World!"
String substring2 = stringBuilder.substring(7, 12); // "World"

 

4) replace(int start, int end, String str) : 주어진 범위의 문자열을 지정된 새 문자열로 대체

StringBuilder stringBuilder = new StringBuilder("Hello, World!");
stringBuilder.replace(7, 12, "Universe"); // "Hello, Universe!"

 

5) reverse() : 문자열 뒤집기

StringBuilder stringBuilder = new StringBuilder("Hello, World!");
stringBuilder.reverse(); // "!esrevinU ,olleH"

 

6) indexOf(String str) or lastIndexOf(String str) : 주어진 문자열이나 문자의 첫 번째 등장 위치를 찾는다.

StringBuilder stringBuilder = new StringBuilder("Hello, World!");

int indexOfWorld = stringBuilder.indexOf("World"); // indexOfWorld는 7
int lastIndexOfl = stringBuilder.lastIndexOf("l"); // lastIndexOfl은 10
728x90
반응형

'Java > Java Syntax' 카테고리의 다른 글

[Java Syntax] Java에서 int와 Integer의 차이 (Null 값 허용 여부)  (0) 2023.11.22
[Java Syntax] isDigit() 메서드 (문자열 숫자 여부 확인)  (0) 2023.11.17
[Java Syntax] 향상된 for문에서 List값 비교하기  (0) 2023.11.12
[Java Syntax] Array(배열) 정렬  (0) 2023.11.01
[Java Syntax] Java 문자열 비교 ==, equals()  (1) 2023.10.27
'Java/Java Syntax' 카테고리의 다른 글
  • [Java Syntax] Java에서 int와 Integer의 차이 (Null 값 허용 여부)
  • [Java Syntax] isDigit() 메서드 (문자열 숫자 여부 확인)
  • [Java Syntax] 향상된 for문에서 List값 비교하기
  • [Java Syntax] Array(배열) 정렬
JongTachi
JongTachi
    반응형
  • JongTachi
    JongTachi의 개발 블로그
    JongTachi
  • 전체
    오늘
    어제
    • 분류 전체보기 (165)
      • Network (10)
      • Server (19)
        • Web (12)
        • WAS (6)
      • Java (8)
        • JVM (1)
        • Java Syntax (16)
        • IDE (5)
        • Lombok (2)
        • Util (1)
      • FrameWork (8)
        • Spring&SpringBoot (4)
        • MyBatis (4)
      • JSP (3)
      • JavaScript (12)
        • jQuery (3)
        • JSON (3)
      • APM (1)
      • Android (5)
      • VCS(Version Control System) (5)
        • Git (4)
        • SVN (1)
      • IT_Tools (15)
        • Jenkins (2)
        • MobaXterm (2)
        • Jeus (1)
        • DBeaver (3)
      • Certificate (1)
      • Linux (3)
      • DB (14)
        • MariaDB (0)
        • Oracle (8)
        • Redis (2)
      • IT Information (21)
      • Text Editor (2)
        • NotePad (2)
      • 비밀의방 (0)
      • 헬파티 여행 (2)
      • 경제 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Redis
    마이바티스
    git
    Linux
    HTTP
    오라클
    톰캣
    svn
    db
    Eclipse
    DBeaver
    java
    보안
    mybatis
    상태코드
    자바스크립트
    이클립스
    Javascript
    디비버
    인텔리제이
    JSON
    WAS
    자바
    Web
    SQL
    IntelliJ
    Tomcat
    oracle
    Server
    JQuery
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JongTachi
[Java Syntax] StringBuilder (문자열 class)
상단으로

티스토리툴바