Home Java. 문자열 뒤집기(StringBuilder().reverse())
Post
Cancel

Java. 문자열 뒤집기(StringBuilder().reverse())

StringBuilder 클래스

StringBuilder().reverse()


StringBuilder 클래스


StringBuilder 클래스

  • String은 내부 데이터를 수정할 수 없다. 수정하는 것이 아니라 수정한 데이터가 담긴 새로운 String 객체가 만들어지는 것. 문자열 변경 작업이 많아질 수록 String 객체 수가 늘어나고, 결국 성능이 저하된다.
    이때 StringBuilder 클래스를 사용한다.

  • StringBuilder 클래스는 내부 버퍼(buffer: 데이터를 임시로 저장하는 메모리)에 문자열을 저장해 두고
    그 안에서 추가, 수정, 삭제 작업 등을 할 수 있게 한다. (append, insert, delete, replace 등)

생성자

  • 기본 생성자 StringBuilder() : 16개의 문자를 저장할 수 있는 초기 버퍼를 생성
  • StringBuilder(int capacity) 생성자 : capacity 개수 만큼의 문자를 저장할 수 있는 초기 버퍼를 생성
  • StringBuilder(String str) 생성자 : str로 주어진 매개값을 버퍼의 초기값으로 저장
  • StringBuilder는 버퍼가 부족할 경우 자동으로 버퍼 크기를 늘리기 때문에 초기 버퍼의 크기는 그다지 중요하지 않음.

문자열 뒤집기 reverse()

1
2
3
4
5
...
  String str = "Hello World";
  String sb = new StringBuilder(str).reverse().toString();
  System.out.println(sb); // dlroW olleH
...
    * toString()메서드 : 객체를 문자열로 표현할 때 사용
    * Object 클래스의 toString() 메서드는 '클래스명@16진수해시코드'로 구성된 문자 정보를 리턴
    * Object 하위 클래스는 toString() 메서드를 재정의(오버라이딩)하여 사용


[-]

회문문자열 문제를 풀다가 정리하는 내용.
회문문자열(팰린드롬, palindrome) : 앞에서 읽으나, 뒤에서 읽으나 같은 문자열


[참고자료]
도서 <이것이 자바다 1>, 신용권, 한빛미디어

This post is licensed under CC BY 4.0 by the author.