[Kotlin] filter, map 호출 순서에 따른 성능 차이
이번에 filter와 map의 호출 순서에 따른 성능차이를 확인해보려고 합니다. map, filter VS filter, map 먼저 사용될 data class를 정의합니다. data class Food( val name: String, val price: Int ) 1. map() 함수를 수행한 뒤, filter() 함수를 수행한다. fun main() { val list = listOf( Food("chicken", 20000), Food("pizza", 25000), Food("sushi", 21000), Food("coffee", 5500), Food("beer", 3800) ) val result = list.map(::mapToName) .filter(::filterByPrice) print(..
2023. 2. 3.
[Kotlin] Collection 관련 함수들 (filter, map, flatmap)
filter 주어진 람다의 조건을 만족하는 원소만 필터링하는 기능입니다. List와 Set을 필터링하는 경우에는 List로, Map을 필터링하는 경우에는 Map으로 반환합니다. filter 함수는 요소의 값만 확인할 수 있습니다. val list = listOf("A", "B", "C") val newList = list.filter { it != "A" } println(newList) // input: [A, B, C] // Result: [B, C] map 각 원소를 원하는 형태로 변환해서 새 컬렉션을 만듭니다. 새로 만들어지는 컬렉션은 원본 컬렉션과 원소의 개수는 같지만 각 원소는 주어진 람다(함수)에 따라 변환됩니다. val list = listOf("A", "B", "C") val newLis..
2023. 2. 3.
[Kotlin] Enum Class와 Sealed class
Enum Class: Enumerated Type 열거형의 준말로 class 내에 상태를 구분하기 위한 객체들을 이름을 붙여 여러개 생성하고 그 중 하나의 상태를 선택해 나타내는 방식입니다. 1. enum class 안에는 상수를 나타내는 대문자로 나타냅니다. enum class Color { RED, BLUE, GREEN } 2. Enum의 객체들은 고유한 속성을 가질 수 있다. enum class Color (val red: Int, val green: Int, val blue: Int) { RED(255, 0, 0), GREEN(0, 255, 0), BLUE(0, 0, 255) } 3. 일반 클래스처럼 함수도 선언 가능하다. enum class Color (val red: Int, val green..
2022. 8. 1.