본문 바로가기
Java & Kotlin/Kotlin

[Kotlin] 컬렉션을 함수형으로 사용하기

by heekng 2022. 7. 7.
반응형

컬렉션을 함수형으로 사용하기

필터와 맵

  • filter
  • filterIndexed: filter에 index를 포함하여 사용
  • map
  • mapIndexed: map에 index를 포함하여 사용
  • mapNotNull: mapping의 결과가 null이 아닌 것만 가져와 map

다양한 컬렉션 처리 기능

  • all: 조건을 모두 만족하면 true 그렇지 않으면 false
  • none: 조건을 모두 불만족하면 true 그렇지 않으면 false
  • any: 조건을 하나라도 만족하면 true 그렇지 않으면 false
  • count(): 개수를 센다.
  • 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