인프런 커뮤니티 질문&답변

구름이님의 프로필 이미지
구름이

작성한 질문수

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

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

map 의 entries 프로퍼티

작성

·

339

1

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

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

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

답변 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로 설명 드렸습니다!!

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

 

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

 

구름이님의 프로필 이미지
구름이

작성한 질문수

질문하기