본문 바로가기
Android 개발/Kotlin

Kotlin BuildList 사용방법 정리

by Developer88 2025. 2. 20.
반응형

buildList는 Kotlin의 표준 라이브러리에서 제공하는 함수인데요.

오늘은 이것에 대해 정리하겠습니다.

 

1. BuildList

buildList 함수를 사용하면,

MutableList에 아이템을 추가하거나 제거하는 등의 변화를 준 후,

변경 불가능한(immutable) List로 리턴해 줍니다.

 

 

예제를 보면서 이해해 보겠습니다.

buildList블록안에서,

x라는 리스트의 앞과 뒤에,

아이템을 추가하였습니다.

 

val x = listOf('김', '이')

val y = buildList() {
    add('박')
    addAll(x)
    add('마')
}

println(y) // ['박', '김', '이', '마']

 

 

2. 실제 코드 

실제로 사용하는 코드를 볼까요?

예전코드와,

buildList를 사용하는 코드를 비교해보면 좋을 것 같네요.

 

예전에는 아래와 같이 코드를 작성했습니다.

여러개의 헤더를 가지는 RecyclerView등을 사용할 때,

저렇게 할 수 있겠지요.

 

val result = mutableListOf<NoteFeedListItem>()
if (favoriteNotes.isNotEmpty()) {
    result.add(NoteFeedListItem.FavoriteHeader)
    favoriteNotes.forEach { result.add(NoteFeedListItem.NoteItem(it)) }
}
return result.toList()

 

이제 buildList를 사용하는 코드를 볼까요?

리턴하지도 않을 변수를 만들어서 사용할 필요가 없어지고요.

리턴할 때는 immutable하게 리턴해 줍니다.

 

return buildList {
    if (favoriteNotes.isNotEmpty()) {
        add(NoteFeedListItem.FavoriteHeader)
        favoriteNotes.forEach { add(NoteFeedListItem.NoteItem(it)) }
    }
}

 

이상으로 Kotlin의 buildList에 대해 알아보았습니다.

 

728x90

댓글