map.insert(key, value)이전 값은 Option으로 반환HashMap 업데이트 판정표
HashMap<K, V>는 키로 값을 찾는 컬렉션이며, 삽입과 갱신 방식에 따라 소유권과 기존 값 처리 방식이 달라집니다.
갱신 기준
항상 새 값으로 바꾸면 insert, 없을 때만 넣으면 entry().or_insert,
기존 값 기반 수정은 가변 참조를 사용합니다.
String 같은 소유 값은 해시맵에 삽입될 때 이동하므로, 삽입 후 원래 변수 사용 가능 여부를 확인해야 합니다.
map.entry(key).or_insert(value)기존 값이면 그대로 유지*map.entry(word).or_insert(0) += 1가변 참조로 한 번에 갱신HashMap::new로 만들고 insert로 키와 값을 넣습니다.
get은 Option<&V>를 돌려주어 키 부재를 명시합니다.
키 존재 여부를 기준으로 삽입과 수정을 한 흐름에서 처리합니다.
기본 해시는 보안 균형을 고려하며 필요하면 다른 hasher를 선택할 수 있습니다.
해시맵 사용 순서
소유권 이동
1
키
동등성 비교와 해시가 가능한 키 타입을 고릅니다.
2
삽입
값 이동 여부와 이후 재사용 필요성을 확인합니다.
3
갱신
덮어쓰기, 최초 삽입, 누적 수정 중 하나를 선택합니다.
해시맵은 빠른 조회보다 먼저 키 부재와 값 갱신 정책을 코드에 명확히 남기는 컬렉션입니다.