Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 스택 자바 코드
- rxjava cold observable
- 서비스 vs 쓰레드
- ar vr 차이
- rxjava disposable
- 안드로이드 유닛 테스트
- 안드로이드 유닛 테스트 예시
- 안드로이드 os 구조
- 자바 다형성
- Rxjava Observable
- android ar 개발
- 안드로이드 레트로핏 사용법
- jvm 작동 원리
- jvm이란
- 안드로이드 라이선스 종류
- 클래스
- 서비스 쓰레드 차이
- 안드로이드 라이선스
- 안드로이드 유닛테스트란
- 안드로이드 레트로핏 crud
- 객체
- 멤버변수
- android retrofit login
- 스택 큐 차이
- 2022 플러터 안드로이드 스튜디오
- 큐 자바 코드
- ANR이란
- rxjava hot observable
- 2022 플러터 설치
- 플러터 설치 2022
Archives
- Today
- Total
나만을 위한 블로그
[Kotlin] StringBuilder 사용법 본문
728x90
반응형
오래 전 자바로 StringBuilder를 쓰는 법에 대해 포스팅했었다. 감사하게도 이 글에 도움을 받은 분들이 많았던 듯하다.
틈날 때마다 자바로 썼던 게시글들을 코틀린으로 다시 쓰는 나만의 작은 프로젝트를 진행하려는데, 그 시작으로 StringBuilder부터 시작해 보려고 한다.
먼저 자바에선 아래처럼 사용했었다.
public class Main {
public static void main(String[] args) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("문자열 ").append("연결");
// String str = stringBuilder; // String에 StringBuilder를 그대로 넣을 순 없다. toString()을 붙여야 한다
String str = stringBuilder.toString();
// 두 println()은 같은 값을 출력한다
System.out.println(stringBuilder);
System.out.println(str);
}
}
코틀린에선 좀 더 간결하게 쓸 수 있다.
fun main() {
val sb = StringBuilder()
sb.append("문자열 ")
.append("연결")
val str = sb.toString()
println(str)
}
// >> 문자열 연결
극단적인 예시지만 한 줄로도 쓸 수 있다. 실제로도 이렇게 쓰는지는 잘 모르겠으나 개인적으론 이렇게 쓸 이유가 있나 생각된다.
fun main() {
println(StringBuilder().append("문자열 ").append("연결"))
}
// >> 문자열 연결
반복문을 쓴다면 아래처럼 할 수 있겠다.
fun main() {
val sb = StringBuilder()
val list = listOf(
"첫 번째, ",
"두 번째, ",
"세 번째, ",
"네 번째, ",
"다섯 번째 ",
)
for (i in list.indices) {
sb.append(list[i])
}
println(sb)
println("========================================================")
println("while문에서 반복")
println("========================================================")
val sb2 = StringBuilder()
var i = 0
while (i < list.size) {
sb2.append(list[i])
i++
}
println(sb2)
}
// >> 첫 번째, 두 번째, 세 번째, 네 번째, 다섯 번째
// >> ========================================================
// >> while문에서 반복
// >> ========================================================
// >> 첫 번째, 두 번째, 세 번째, 네 번째, 다섯 번째
코틀린이라고 큰 차이는 없으며 자바에서 사용해 봤다면 코틀린에서도 기본 문법만 안다면 충분히 사용할 수 있을 정도로 간단하다.
코딩테스트에서 StringBuilder는 문자열을 조작하는 문제에서 사용할 수 있다. 간단한 예문으로 확인해 본다.
주어진 문자열을 뒤집어 출력하라
코틀린이라면 StringBuilder를 안 써도 풀 수 있는 문제지만 굳이 사용한다면 아래처럼 할 수 있다.
fun main() {
val input = readln()
val sb = StringBuilder(input)
println(sb.reverse())
}
// >> hello
// >> olleh
주어진 문자열에서 각 문자를 n회 반복해서 새 문자열을 출력하라
fun main() {
val n = readln().toInt()
val input = readln()
val sb = StringBuilder()
for (char in input) {
repeat(n) {
sb.append(char)
}
}
println(sb.toString())
}
// >> 3
// >> abc
// >> aaabbbccc
반응형
'개인 공부 > Kotlin' 카테고리의 다른 글
[Kotlin] val은 Immutable이 아니다? (0) | 2024.11.17 |
---|---|
[Kotlin] 멀티 쓰레딩이란? synchronized란? (0) | 2023.11.09 |
[Kotlin] 컬렉션 필터링 (filter, any, none, all) (0) | 2023.11.08 |
[Kotlin] KDoc 주석이란? (0) | 2023.09.19 |
[Kotlin] 함수형(SAM) 인터페이스란? (0) | 2023.09.19 |
Comments