작성
·
202
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 답변드리겠습니다. HashMap은 입력 순서를 유지하지 않으며, 자동으로 키 값을 정렬하지도 않습니다. HashMap은 내부적으로 해시 테이블을 사용하여 키와 값의 쌍을 저장합니다. 그렇기 때문에 키의 순서는 해시 함수의 결과에 따라 결정되며, 입력 순서나 자연스러운 순서와는 무관하게 저장됩니다.
만약 키를 특정 순서대로 정렬하고 싶다면, TreeMap을 사용하거나, HashMap의 키를 별도로 정렬하는 추가 작업이 필요합니다. TreeMap은 자연 순서 또는 커스텀 순서대로 키를 정렬하여 저장하는 Map 구현체입니다.
따라서 HashMap에서 KeySet()의 출력 값이 ABCDE로 나왔다면, 이는 우연히 키의 해시 값이 이 순서대로 저장되었거나, 다른 곳에서 정렬된 키를 사용했을 가능성이 있습니다. 자동으로 정렬이 된다고 보기보다는, 필요한 경우 TreeMap 사용 또는 키를 정렬하는 로직을 추가하여 사용해야 합니다.