글

라벨이 컬렉션인 게시물 표시

코틀린 (Kotlin) 컬렉션

코틀린 컬렉션 fun functionalFilter(numList : List<Int>) : List<Int> = numList.filter { it % 2 == 0 } 코드 간결성/가독성 향상 결과값을 저장하기 위한 별도의 리스트를 생성할 필요가 없다 비즈니스 로직에 집중 버그가 발생할 확률이 적다 테스트가 용이 유지보수가 용이 fun functionalMap(numList: List<Int>) : List<Int> {     return numList.map { it + 2 } } map 함수는 내부적으로 새로운 리스트를 만들어서 반환 -> 부수효과 없음 tailrec fun<T, R> FunList<T>.map(acc: FunList<R> = FunList.Nil, f: (T) -> R): FunList<R> = when (this) {     FunList.Nil -> acc.reverse()     is FunList.Cons -> tail.map(acc.addHead(f(head)), f) } 제네릭과 고차함수를 활용해서 일반화된 함수를 만들고, 재사용성을 높이는 것이 함수적 접근 방식 명령형과 함수형의 차이 fun func(intList: List<Int>) =     intList         .map { n ->             println("map=$n")             n*n }         .filter { n ->       ...