임리프 2020. 7. 9. 20:36
반응형

Map

map 함수는 입력 값을 어떤 함수에 넣어서 원하는 값으로 변환하는 함수입니다.

 

 

map은 원을 입력 받아서 다이아몬드로 반환하는 것을 볼 수 있습니다.

아래는 마블 다이어그램을 코드로 표현한 것입니다.

 

입력

import io.reactivex.Observable

class MapExample {
    fun marbleDiagram() {
        val balls = arrayOf("1", "2", "3", "5")
        val source = Observable.fromArray(*balls)
            .map { ball -> "$ball◇" }
        source.subscribe { data -> println(data) }
    }
}

fun main() {
    val demo = MapExample()
    demo.marbleDiagram()
}

 

출력

1◇
2◇
3◇
5◇

 

아래는 Function 인터페이스를 적용한 map 함수입니다.

 

입력

import io.reactivex.Observable
import io.reactivex.functions.Function

class MapExample {
    fun mapFunction() {
        val getDiamond = Function<String, String> { ball -> "$ball◇" }

        val balls = arrayOf("1", "2", "3", "5")
        val source = Observable.fromArray(*balls)
            .map(getDiamond)
        source.subscribe { data -> println(data) }
    }
}

fun main() {
    val demo = MapExample()
    demo.mapFunction()
}

 

출력

1◇
2◇
3◇
5◇
반응형