티스토리 뷰

지난 포스팅에서는 List, Set, Map에 대해서 알아봤다.

이번에는 컬렉션에서 사용되는 함수에 대해 알아보자!

 

 

굉장히 많은 함수들이 있는데 오늘은 filter와 map 함수만 살펴보려 한다.

 

 

filter

 

filter 함수는 주어진 람다의 조건을 만족하는 원소만 필터링하는 기능이다.

List와 Set을 필터링하는 경우에는 List로, Map을 필터링 하는 경우에는 Map으로 반환한다.

filter 함수는 요소의 값만 확인할 수 있다.

 

 

filterIndexed() : 인덱스를 통해 처리하고 싶을 때 사용하면 인덱스와 값에 접근할 수 있다.

filterNot() : 지정된 조건과 일치하는 항목만 포함하는 리스트 반환

 

 

 

filterIsInstance<T>() : 주어진 타입을 만족하는 원소 필터링. T 타입과 관련된 함수를 쓸 수 있다.

 

 

partition() : 리스트를 특정 조건에 따라 분리. List나 Set에서 사용할 수 있으며 Map에서는 사용 불가.

 

 

 

filter 함수가 조건을 만족하는 원소를 찾았다면 any, all, none 함수들은 조건에 맞는 원소가 존재하는지를 확인할 수 있다.

 

 

any() : 조건을 만족하는 원소가 1개 이상 존재하면 true

none() : 조건을 만족하는 원소가 없으면 true

all() : 모든 원소가 조건을 만족하면 true

 

all 함수는 비어있는 Collection에 어떤 조건이 오더라도 true를 리턴한다.

이것을 vacuous truth라고 한다.

 

 

any, none 함수는 조건식 없이도 사용할 수 있다.

이런 경우에 any 함수는 원소가 있을 경우 true를 리턴하고 none 함수는 반대로 원소가 없는 경우 true를 리턴한다.

 

 

 

map

 

map 함수는 각 원소를 원하는 형태로 변환해서 새 컬렉션을 만든다.

새로 만들어지는 컬렉션은 원본 컬렉션과 원소의 개수는 같지만 각 원소는 주어진 람다(함수)에 따라 변환된다.

 

mapIndexed() : 인덱스와 값 둘 다 이용하여 조건을 주거나 새로운 값을 만들어 낼 수 있다.

 

 

mapNotNull(), mapIndexedNotNull() : 이름 그대로 null인 원소들은 포함하지 않는다.

 

 

Map도 map 함수를 사용할 수 있다.

Map 형태를 그대로 유지하고 싶다면 두 가지 함수가 있다.

 

mapKeys() : Map의 key 값들 변경. value는 유지.

mapValues() : Map의 value 값들을 변경. key는 유지.

 

 

 

 

 

Collections overview | Kotlin

 

kotlinlang.org

 

'프로그래밍 언어 > Kotlin' 카테고리의 다른 글

Kotlin Collections에 대해 알아보자! (List, Map, Set)  (0) 2021.07.27
Kotlin 기본 다지기 4  (0) 2021.07.26
Kotlin 기본 다지기 3  (0) 2021.07.25
Kotlin 기본 다지기  (0) 2021.07.25
Kotlin 기본 다지기 2  (0) 2021.07.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함