Android 개발/Kotlin

Kotlin BuildList 사용방법 정리

Developer88 2025. 2. 20. 17:12
반응형

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