티스토리 뷰

반응형

immutable 컬렉션보다 mutable 컬렉션이 성능적인 측면에서 더 빠릅니다.

immutable 컬렉션에 요소를 추가하려면, 새로운 컬렉션을 만들면서 여기에 요소를 추가하기 때문에 새로운 객체 생성 비용이 발생합니다.

public operator fun <T> Iterable<T>.plus(elements: Array<out T>): List<T> {
    if (this is Collection) return this.plus(elements)
    val result = ArrayList<T>()
    result.addAll(this)
    result.addAll(elements)
    return result
}

immutable 컬렉션은 안전하다는 측면에서 좋지만, 일반적인 지역 변수는 동기화와 캡슐화의 문제에 해당하지 않습니다.

그러므로 지역 변수로 사용할 때는 mutable 컬렉션을 사용하는 것이 더 합리적이라고 할 수 있습니다.

또한, 내부에서는 mutable 컬렉션을 사용하고, 외부에 제공할 경우에는 immutable 컬렉션으로 제공하는 것이 좋습니다.

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/02   »
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
글 보관함