상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
결혼식에서의 특별한 순간을 어떻게 기억할까요?
삿포로에서 하루 동안 어떤 일정을 짜면 좋을까요?
삿포로에서의 추천 지역 환경 보호 활동은 어떤 것이 있나요?
멜라토닌과 호르몬 불균형의 관계는 무엇인가요?
트립토판과 알코올의 상호작용은 무엇인가요?
이탈리아에서의 여행 중 추천할 만한 역사적인 박물관은 어디인가요?
칼로리 소모를 위한 일상적인 활동은 무엇인가요?
칼로리와 요리 시 주의할 점은 무엇인가요?
칼로리와 운동 후 회복식의 중요성은 무엇인가요?
자장면의 소스가 너무 묽으면 어떻게 하나요?
드라마와 다큐멘터리, 어떤 종류의 프로그램을 더 즐겨 보시나요?
도서관과 카페, 어느 곳에서 더 집중이 잘 되시나요?
Previous
Next
수정하기 - 코틀린의 컬렉션 함수 중 map과 filter의 차이는 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Kotlin의 컬렉션 함수 중 `map`과 `filter`는 모두 컬렉션을 변환하거나 필터링하는 데 사용되는 고차 함수입니다. 그러나 이 두 함수는 그 목적과 동작 방식에서 중요한 차이가 있습니다. 아래에서 이 두 함수의 차이점과 사용 사례를 자세히 살펴보겠습니다. 1. 기본 개념 - map : `map` 함수는 주어진 컬렉션의 각 요소에 대해 변환 함수를 적용하여 새로운 컬렉션을 생성합니다. 즉, 원래의 컬렉션의 각 요소를 다른 형태로 변환하는 데 사용됩니다. 이 과정에서 원래의 요소는 유지되지 않고, 변환된 결과로 새로운 요소가 생성됩니다. - filter : `filter` 함수는 주어진 컬렉션의 각 요소에 대해 조건을 검사하여, 조건을 만족하는 요소만을 포함하는 새로운 컬렉션을 생성합니다. 즉, 원래의 컬렉션에서 특정 조건을 만족하는 요소들만 추출하는 데 사용됩니다. 2. 반환되는 컬렉션의 형태 - map : `map`은 원래 컬렉션의 크기와 동일한 크기의 새로운 컬렉션을 반환합니다. 각 요소가 변환되지만, 요소의 수는 변하지 않습니다. 예를 들어, 리스트의 각 요소를 제곱하는 경우, 원래 리스트의 크기와 같은 크기의 새로운 리스트가 생성됩니다. - filter : `filter`는 조건을 만족하는 요소만을 포함하므로, 반환되는 컬렉션의 크기는 원래 컬렉션의 크기보다 작거나 같을 수 있습니다. 예를 들어, 리스트에서 <a href='https://sangseek.com/sangseeks/짝수/ko'>짝수</a>만 필터링하는 경우, 결과 리스트의 크기는 원래 리스트의 짝수의 개수에 따라 달라집니다. 3. 사용 예시 - map 사용 예시 : ```kotlin val numbers = listOf(1, 2, 3, 4, 5) val squaredNumbers = numbers.map { it * it } pr<a href='https://sangseek.com/sangseeks/intl/ko'>intl</a>n(squaredNumbers) // [1, 4, 9, 16, 25] ``` - filter 사용 예시 : ```kotlin val numbers = listOf(1, 2, 3, 4, 5) val evenNumbers = numbers.filter { it % 2 == 0 } println(evenNumbers) // [2, 4] ``` 4. 결합 사용 `map`과 `filter`는 종종 함께 사용되기도 합니다. 예를 들어, 특정 조건을 만족하는 요소를 필터링한 후, 그 요소들에 대해 변환을 적용할 수 있습니다. ```kotlin val numbers = listOf(1, 2, 3, 4, 5) val result = numbers.filter { it % 2 == 0 }.map { it * it } println(result) // [4, 16] ``` 위의 예시에서는 먼저 짝수만 필터링한 후, 그 짝수들을 제곱하여 새로운 리스트를 생성합니다. 5. 성능 고려사항 `map`과 `filter`는 각각의 요소에 대해 함수를 호출하므로, 컬렉션의 크기가 클 경우 성능에 영향을 미칠 수 있습니다. 특히, `filter`는 조건을 만족하지 않는 요소를 무시하므로, 조건을 검사하는 비용이 발생합니다. 반면, `map`은 모든 요소에 대해 변환 함수를 적용하므로, 변환 함수의 복잡성에 따라 성능이 달라질 수 있습니다. 결론 Kotlin의 `map`과 `filter`는 컬렉션을 다루는 데 있어 매우 유용한 도구입니다. `map`은 각 요소를 변환하여 새로운 컬렉션을 생성하는 데 사용되며, `filter`는 조건을 만족하는 요소만을 추출하여 새로운 컬렉션을 생성하는 데 사용됩니다. 이 두 함수를 적절히 활용하면, 코드의 가독성을 높이고, 복잡한 데이터 처리 작업을 간결하게 수행할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기