• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

14강 Map에 대해서 질문이 있습니다.

24.06.30 21:07 작성 24.06.30 21:18 수정 조회수 51

0

안녕하세요 !

항상 좋은 강의 감사합니다. 😃

강의 10:09 에서 말씀해주실때 firstEntrylastEntry만 immutable이라고 말씀해주셔서 테스트를 해봤습니다.

pollFirstEntrypollLastEntry도 unmodifiable copy 객체를 반환하는 거같아서요

  public static void main(String[] args) {
        LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<>();
        linkedHashMap.put("key1", "value1");
        linkedHashMap.put("key2", "value2");
        linkedHashMap.put("key3", "value3");

        Map.Entry<String, String> firstEntry = linkedHashMap.pollFirstEntry();
        firstEntry.setValue("new value");
    }

이렇게 했는데 예외가 발생했습니다.


추가로
14강 9:50 에 reversed()도 immutable이라고 말씀해주셨었는데 호기심에 테스트를 해보니 데이터가 수정됩니다.

@Test
@DisplayName("reversed 데이터 추가 및 원본 데이터 수정가능하다.")
void add() {
    LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<>();
    linkedHashMap.put("key1", "value1");
    linkedHashMap.put("key2", "value2");
    linkedHashMap.put("key3", "value3");

    SequencedMap<String, String> reversed = linkedHashMap.reversed();
    reversed.put("key4", "value4");

    Assertions.assertSame(4, linkedHashMap.size());
}


답변 1

답변을 작성해보세요.

1

안녕하세요! kamser님! 🙂 좋은 질문 감사합니다!

 

결론부터 말씀드리면, kamser님께서 확인해주신게 맞습니다! 제가 설명은 sequenceXXX 와 같은 함수가 immutable이라 해놓고, 표기를 reserved()까지 immutable로 하고 있었네요! 🥺

이와 비슷하게 pollFirstEntrypollLastEntry 역시 Entry<K, V> 를 반환하는 함수이고 immutable이 맞습니다. 👍

 

관련해서 영상과 자료도 수정해두었습니다!

 

추가적으로 정말 꼼꼼하게 강의를 봐주신 kamser님께 작은 선물을 드리고 싶은데요!

제 강의 중 듣고 싶은 강의가 있으시면 한 강의를 무료로 들으실 수 있도록 도와드리겠습니다! 🙏

https://www.inflearn.com/users/95077/@lannstark

 

혹시나 지금 당장 필요한 강의가 없으시다면, 제가 추후에 출시하는 강의라도 언제든지 제게 말씀해주시면, 무료로 강의를 들으실 수 있도록 조치하겠습니다.

 

오늘도 좋은 하루 되세요! 😊

정말 감사드립니다. 🙏

kamser님의 프로필

kamser

질문자

2024.07.01

와 !!

감사합니다

 

사실 최태현님 강의를 너무 잘해주셔서 이미 모두 수강하고 있습니다.

다음에 어떤 신규 강의를 하실지 모르지만 그때 기억해주신다면

조심스럽게 요청 드려볼게요!!

 

그런데 나중에 어떻게 요청을 드려야하나요? 

 

그리고 워밍업 0기때 너무 감사했습니다.

 

아이고 벌써 모두 수강해주시고 계시군요! 정말 영광입니다! 😊

어떤 강의던지 질문글로 편하게 남겨주셔도 괜찮고, 아니면 제가 기억하고 이 게시글로 찾아오도록 하겠습니다.

워밍업 0기도 열심히 참여해주시고, 강의도 잘 들어주셔서 감사합니다! 🙏

채널톡 아이콘