엄코딩의 개발 일지

프로젝트를 진행하며, 코틀린의 유용한 함수에 대한 기본적인 코드를 학습하며 정리한 내용을 포스팅해 보았습니다.


 filter


filter함수는 map함수와 함께 컬렉션을 활용할 때 기반이 되는 함수입니다.



위와 같이 Person 형태의 people 리스트가 있습니다.


woman은 람다식을 변수에 저장한 것으로, Person객체가 W( woman ) 이면 true를 반환합니다.



people에 filter 함수를 사용하여 여자인 객체만을 갖는 새로운 컬렉션을 출력해 보았습니다.




filter 람다에서는 it이 Person을 가르키고 있습니다. 이를 이요하여 27살 이상인 사람들을 출력해보겠습니다.



이처럼 filter함수를 이용하여 컬렉션에서 원치 않는 원소를 간단하게 제거할 수 있습니다.


하지만 filter는 원소를 변환할 수는 없습니다. 원소를 변환하기 위해서는 map 함수를 사용해야 합니다.



 map


map 함수는 주어진 람다를 컬렉션의 각 원소에 적용한 결과를 모아서 새 컬렉션을 만듭니다.


위 filter의 예제에서 27살 초과하는 사람들의 이름으로 map함수를 통해 새로운 컬렉션을 만들 수 있습니다.



아래 코드는 위 코드에 코틀린의 멤버 참조 개념을 적용한 것입니다.




위와 같이 filter와 map 함수의 개념은 생각보다 간단합니다.


앞으로의 프로젝트에서는 filter, map 함수를 자주 볼 수 있기를 기대하면서 포스팅을 마치겠습니다.



참고문헌 : Kotlin in Action