모르면 배우면 된다

StringBuilder의 활용 본문

알고리즘

StringBuilder의 활용

Okguri 2021. 11. 17. 22:59

https://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html

 

StringBuilder (Java Platform SE 7 )

Inserts the string into this character sequence. The characters of the String argument are inserted, in order, into this sequence at the indicated offset, moving up any characters originally above that position and increasing the length of this sequence by

docs.oracle.com

 

StringBuilder를 문자열 문제에서 많이 활용하기에, StringBuilder를 한번 정리해야겠다 싶었다. 

지금까지 나는 String 문제를 +를 써서 해결해왔다.

하지만 +를 통해 string 문제를 풀면, 효율성 검사에서 탈락할 가능성이 높다.

 

string a = "A";

string b = "B";

 

a+b의 결과는 "AB"로, 새로운 string을 만들어내며 메모리가 추가적으로 할당된다. 

그러나 StringBuilder는 기존 데이터에 더해지는 방식이기 때문에, 메모리 관리 측면에서 보다 효율적이다. 

 

가장 많이 쓰는 메소드는 .append(), .insert()다. 

 

StringBuilder sb= new StringBuidler();

sb.append("a");

sb.append("c");

일 때, str은 "ac"다.

 

insert(index, string)은 StringBuilder의 자릿수에다가 들어오는 string 데이터를 삽입한다. 

예컨대 insert(2, string)일 때, 두 번째 자리에다가 string을 삽입하는 식이다. 

 

sb.insert(2, "b");라고 하면, 

str은 "abc"가 된다. 

StringBuilder sb = new StringBuilder(); 

와 같이 하면 된다. 

 

이외에도 StringBuilder에는 수많은 내장함수가 있는데 오라클 공식문서를 사용하면 된다.