반응형
1. 내가 짠 소스
for( data in images ) {
if( data.type == TYPE ) {
list.add(data)
}
}
filter와 map을 이용
list.addAll(
images.filter { data ->
data.type == TYPE
}.map { data ->
data
}
)
성능상 부담스럽다면 mapNotNull을 이용할 수도
list.addAll(
images.mapNotNull { data ->
data.takeIf{
data.type == TYPE
}?.let {
it
}
}
)
filter() : 필터
filter()는 리스트내에 인자들 중 조건에 일치하는 인자만 필터링합니다.
map() : 변환
map()은 컬랙션 내 인자를 변환하여 반환할 때 사용됩니다.
mapNotNull() : 변환
mapIndexed()는 컬랙션에 포함된 인자의 인덱스 값을 변환하여 사용할 수 있습니다.
참조:
반응형
'코딩 > 코드리뷰' 카테고리의 다른 글
position 범위안에 있는지 확인 (0) | 2021.09.09 |
---|---|
변수선언 한번에 객체에서 가져와 여러개 하기. (0) | 2021.08.31 |
뷰 바인딩 (0) | 2021.08.31 |
for, foreach, foreachIndexed 빠져 나오기 (0) | 2021.08.04 |
자바 Annotation시 기본형 타입(Primitive type) (0) | 2021.07.15 |