inline fun <T, R, C : MutableCollection<in R>> Array<out T>.mapTo(
destination: C,
transform: (T) -> R
): C
- collection 프레임워크 사용 시 각 element들을 변형을 거쳐서 다른 collection에 쉽게 복사할 수 있는 함수입니다.
- ex) String형 List에 있는 데이터들을 Int형 List로 옮기고 싶은 경우
var list = arrayOf("1", "2", "3", "4")
var p = ArrayList<Int>()
list.mapTo(p, { s -> s.toInt()n } )
println(p.toString())
결과
[1, 2, 3, 4]
- 나의 경우는 새로운 리스트를 temp리스트를 생성해서 조건에 맞는 리스트를 넣어주는 것이었다.
viewModel.listParticipation
.mapTo(destination = ArrayList(), transform = { it })
.apply {
addAll(
position,
item.selections
?.takeIf { it.isNotEmpty() }
?: arrayListOf(TYPE_LIST_EMPTY)
)
}
참조 :
'코딩 > 코드리뷰' 카테고리의 다른 글
변수 3개 선언하기 (0) | 2021.11.23 |
---|---|
뷰홀더 LayoutInflater Activity에 의존하지 않기 (0) | 2021.11.18 |
kotlin toLowerCase() Deprecated (0) | 2021.09.29 |
for문 같은 데이터 찾아서 position 저장 (0) | 2021.09.09 |
lateinit 초기화 확인하기 (0) | 2021.09.09 |