inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

15강. 코틀린에서 배열과 컬렉션을 다루는 방법

map 의 entries 프로퍼티

442

구름이

작성한 질문수 1

1

안녕하세요. 강의 보던 중 map.entries 설명해주시는 부분에서 질문이 있습니다!

위처럼 for 문을 돌 때 한 번 entries를 붙이지 않고 실행해보았더니, 실행된 결과가 동일하게 나왔습니다.

entries 를 붙이지 않고 실행하는 경우 그냥  map 을 돌리는 것과 어떠한 차이점이 있는 건가요? 붙이지 않고 실행하는 것이 위험한 방법인건가요. 아니면 쓰는 상황에 따라 차이가 있는 것인지 궁금합니다!

map java oop kotlin

답변 1

1

최태현

안녕하세요 구름이님!!! 와우~~~ 매우매우 좋은 질문이십니다!!

이렇게 여러 case를 해보시는 것 너무너무 좋네요 ㅎㅎㅎㅎㅎ

 

결론부터 말씀드리면 '동일합니다' ㅎㅎㅎ

그 이유는, Kotlin Library에서 다음과 같은 '확장함수'를 만들어 두었기 때문이에요!!

  • (코틀린 라이브러리 코드 github 주소)
  • https://github.com/JetBrains/kotlin/blob/ea836fd46a1fef07d77c96f9d7e8d7807f793453/libraries/stdlib/src/kotlin/collections/Maps.kt#L373

map에 entries.iterator()를 반환하는 함수를 만들어둔거죠~!!

  • (코틀린 공식 문서 라이브러리 설명서 주소)
  • https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/iterator.html

 

이 확장함수 덕분에 for (key, value) in map 이라고만 쓰더라도

자동으로 for (key, value) in map.entries와 같은 효과를 내게 됩니다~

 

강의에서는 이 내용이 조금 복잡하고, entries를 알려드리면 더 다양하게 활용하실 수 있을 것 같아 map.entries로 설명 드렸습니다!!

크~~ 너무 좋은 질문 감사드립니다 ㅎㅎㅎㅎ

 

언제든 또 질문 있으시다면, 편하게 남겨주세요~!!! 감사합니다 :)

 

수업노트

0

53

1

싱글톤과 스프링

0

71

2

get() = 3

0

49

2

강사님

0

74

1

강의 복습하면서 생긴 질문

1

94

1

Kotlin과 Java의 현업에서의 활용

0

124

2

data class와 자바의 Lombok을 이용한 DTO 클래스 차이 질문

0

73

1

코틀린에서 상속 시, 주의점에 대한 질문

1

95

3

내용 이해 질문

0

56

1

자바와 코틀린의 함수형 프로그래밍,

1

91

1

플랫폼 타입 설명 문의

2

76

2

널 아님 단언 관련 질문

0

83

1

강의 중 질문

0

79

2

범위 비교 질문

1

91

2

타입캐스팅 궁금한점 질문드립니다.

1

239

2

코틀린 val 질문

0

166

2

완강 후 Kotlin 이런저런 질문 드려봅니다!

3

408

2

확장함수 스타일 질문

0

139

2

확장 프로퍼티 질문

1

156

1

update 함수를 만든다는게 어떤 의미인지 예시가 궁금합니다!

1

283

1

java class의 NotNull 어노테이션 인식

1

262

1

[16강] 확장함수 관련 질문입니다!

1

131

2

리턴타입 사용시 any를 사용해도 괜찮은가요?

1

139

1

안녕하세요 scope function 에 receiver 가 없는 경우

1

169

1