Collections 함수

지프치프·2025년 1월 25일
0

개요

Kotlin에서는 Collection 객체들의 사용이 더욱 쉽도록 도와주는 함수들이 있다.
이를테면 map, filter.. 등이 있는데
Java Stream에 대응되는 함수들이다.

map

  • 각 요소를 반환하여 새로운 컬렉션을 만듬
fun main() {
   val list = listOf(1, 2, 3, 4, 5)
	val sqaureList = list.map { it * it }
	print(sqaureList) // [1, 4, 9, 26, 25]
}

filter

  • 조건을 만족하는 요소만 뽑아서 새로운 Collection을 반환
fun main() {
	val list = listOf(1, 2, 3, 4, 5, 6)
	val filterList = list.filter { it % 2 == 0 }
	print(filterList) // [2, 4, 6]
}

forEach

  • 각 요소를 순회

reduce

  • 각 요소들을 순회하면서 요소들의 합을 반환

fold

  • 초기값을 시작으로 각 요소들을 순회하면서 요소들의 합을 반환

find

  • 조건을 만족하는 첫 요소를 반환

groupBy

  • 특정 키를 기준으로 요소들을 그룹화
  • 특정 조건을 기준으로 그룹화도 가능하지만 이 경우는 아래 'partition' 함수 사용을 권장

sortBy / sortedBy

  • 요소가 단순 원시타입이 아닌 여러 데이터를 가지고 있는 객체일 때 객체 내 특정 데이터를 기준으로 요소들을 정렬
  • sortBy는 mutable 객체, sortedBy는 immutable 객체에서 사용 가능

partition

  • 조건을 기준으로 요소들을 두 그룹으로 나눔

zip

  • 두 리스트를 합쳐서 Pair 를 반환

take / takeWhile

  • take : 주어진 갯수의 요소를 반환
  • takeWhile : 조건을 만족하는 요소들을 리스트로 반환

    find 는 첫 요소 하나만 반환
    takeWhile은 조건을 만족하는 요소 모두를 반환

drop / dropWhile

  • drop : 주어진 갯수의 요소를 제거
  • dropWhile : 조건을 만족하는 요소들을 제외한 리스트를 반환

distinct

  • 중복을 제거하고 새로운 Collection을 반환

any / all / none

  • 조건을 만족하는지 확인
    - any : 요소 중에 하나라도 조건을 만족하면 true
    • all : 요소 중에 모든 요소가 조건을 만족하면 true
    • none : 요소 중에 조건을 만족하는 요소가 없으면 true
profile
지프처럼 거침없는 개발을 하고싶은 개발자

0개의 댓글

관련 채용 정보