투케이2K

95. (TWOK/ALGORITHM) [Kotlin] 문법 - [CallBack] 해쉬맵 key , value 값 조회 및 콜백 결과 확인 본문

투케이2K 알고리즘

95. (TWOK/ALGORITHM) [Kotlin] 문법 - [CallBack] 해쉬맵 key , value 값 조회 및 콜백 결과 확인

투케이2K 2023. 1. 24. 11:19
반응형

[환경 설정 및 설명]

언어 : Kotlin

설 명 : 문법 - [CallBack] 해쉬맵 key , value 값 조회 및 콜백 결과 확인

 

[소스 코드]

 

        // TODO [SEARCH FAST] : [CallBack] callHashMapKeyValue : 해쉬맵 key , value 값 조회 콜백
        fun callHashMapKeyValue (map: HashMap<String, Any>, myCallBack: (key: String, value: String) -> Unit){

            /**
             * // -----------------------------------------
             * [callHashMapKeyValue 메소드 설명]
             * // -----------------------------------------
             * 1. 해쉬맵 key , value 값 조회 콜백 반환
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * var map = HashMap<String, Any>()
             * map["name"] = "twok"
             * map["age"] = 29
             *
             * C_Util.callHashMapKeyValue(map){ key, value ->
             *       System.out.println("key = " + key + " / " + "value = " + value)
             * }
             *
             * // -----------------------------------------
             * 3. 리턴 데이터 : key , value
             * // -----------------------------------------
             */


            // [로직 처리 실시]
            try {

                // [map 널 체크]
                if (map != null && map.isEmpty() == false && map.size > 0 && map.keys.size > 0){
                    val set: Set<*> = map.keys
                    val iterator = set.iterator()
                    while (iterator.hasNext()) {
                        val key = iterator.next() as String

                        // [excute 반환]
                        myCallBack.invoke(key, map[key].toString())
                    }
                }
                else {
                    // [콜백 반환]
                    myCallBack.invoke("ERROR", "ERROR")
                }

            }
            catch (e: Exception) {
                e.printStackTrace()
            }

        }

 


 

반응형
Comments