2010-04-13 3 views
2

HashMap 개체를 반환하는 Java 메서드가 있다고 가정합니다.HashMap은 다음 읽기에서 요소의 순서를 유지하며 LinkedHashMap으로 작성되고 채워지는 경우?

LinkedHashMap은 HashMap의 하위 클래스이므로 LinkedHashMap을이 메서드에서 반환하면됩니다.

다음에 "읽기"작업 (K/V 쌍을 추가/제거/수정하지 않음)에서 결과 메서드 (HashMap을 반환)의 키를 반복하는 것은 원래 LinkedHashMap과 동일한 순서로 진행됩니다. HashMap에 핵심 링크가 없더라도?

답변

10

예. 객체의 실제 인스턴스는 여전히 반환 된 LinkedHashMap이므로 반복 순서가 적용됩니다.

그러나, 나는 이것에 의존하지 않을 것입니다. 반복 순서가 중요한 경우 왜 HashMap을 사용하고 있습니까? 이것은 코드 냄새 일 수 있습니다.

+0

네, 바보 같은 질문입니다. 저는 실제로 아무 것도 사용하지 않고 있습니다. 제가 개발하고있는 프로젝트에 대한 새로운 아이디어로 그냥 속이고 있었고, 저에게 질문이 생겼습니다. 솔직히 말해서 나는 왜 지금 당장 알 수 없지만 어떤 시점에서 답을 아는 것이 유용 할 것 같습니다. – javanix

관련 문제