📝 간단하게 쓰는 개발일기
함수형 코틀린
2장에서 함수적 컬렉션, mutable, sum, map, fold, reduce를 공부했다.
정리
- 함수적 컬렉션이란 고차 함수를 통해 각 요소에 접근할 방법을 제공하는 컬렉션
- Kotlin의 기본 컬렉션인
List<T>
, Set<T>
, Map<K, V>
은 하위 타입으로 변경할 수 있는(Mutable) MutableList<T>
, MutableSet<T>
, MutableMap<K, V>
을 가진다. Mutable 타입들은 add, remove, clear 등의 컬렉션을 변경하는 함수들을 가지고 있다.
- List의 sum 함수는 List의 모든 요소를 더한다.
- List의 map 함수는 List의 모든 요소에 대해 인자로 받은 람다를 적용한다.
- List의 fold 함수는 초기값과 함께 누적값을 이용할 수 있다.(람다의 첫 인자는 누적값, 두 번째 인자는 이터레이터?)
- List의 reduce 함수는 fold과 같지만 초기값이 없다. (대신 초기 값으로 List의 첫 값을 이용.)
- fold와 reduce 함수는 각각 리스트의 오른쪽부터 순환할 수 있는 foldRight, reduceRight에 대응된다.