반응형
컬렉션을 함수형으로 사용하기
필터와 맵
filter
filterIndexed
: filter에 index를 포함하여 사용map
mapIndexed
: map에 index를 포함하여 사용mapNotNull
: mapping의 결과가 null이 아닌 것만 가져와 map
다양한 컬렉션 처리 기능
all
: 조건을 모두 만족하면 true 그렇지 않으면 falsenone
: 조건을 모두 불만족하면 true 그렇지 않으면 falseany
: 조건을 하나라도 만족하면 true 그렇지 않으면 falsecount()
: 개수를 센다.sortedBy
: 오름차순 정렬sortedByDescending
: 내림차순 정렬distinctBy
: 변형된 값을 기준으로 중복을 제거한다.first()
: 첫번째 값을 가져온다 (무조건 null이 아니어야 한다.)firstOrNull()
: 첫번째 값 또는 null을 가져온다.last()
: 마지막 값을 가져온다 (무조건 null이 아니어야 한다.)lastOrNull()
: 마지막 값 또는 null을 가져온다.
List or Map
groupBy
: 해당 값을 기준으로 List가 value인 Map으로 만든다.groupBy({key 조건}, {value 조건})
형태로 작성해서 value도 커스텀할 수 있다.
associateBy
: 해당 값을 기준으로 단일 객체가 value인 Map으로 만든다.associateBy({key 조건}, {value 조건})
형태로 작성해서 value도 커스텀할 수 있다.
- map 또한 동일하게 사용할 수 있다.
중첩된 컬렉션 처리
- List 안에 List가 있을 경우
flatMap
: 람다를 이용해 필터링과 동시에 단일 List로 만든다.flatten()
: 단일 List로 만든다.
반응형
'Java & Kotlin > Kotlin' 카테고리의 다른 글
[Kotlin] 여러가지 기능 (0) | 2022.07.07 |
---|---|
[Kotlin] 람다 (0) | 2022.07.07 |
[Kotlin] 함수 (0) | 2022.07.07 |
[Kotlin] 배열과 컬렉션 (0) | 2022.07.07 |
[Kotlin] Data, Enum, Sealed 클래스 (0) | 2022.07.06 |
[Kotlin] 중첩 클래스를 다루는 방법 (0) | 2022.07.06 |