RUST · HASHMAP
HashMap 업데이트 전략 선택표
HashMap은 키가 이미 있을 때와 없을 때의 의도가 다릅니다. 덮어쓰기, 최초값 유지, 누적 갱신을 구분하면 코드가 훨씬 선명해집니다.
업데이트 흐름
entry
insert(k, v)
키가 있으면 새 값으로 덮어씁니다.
entry(k)
키의 자리 자체를 검사하고 점유/빈 상태로 나눕니다.
or_insert(v)
없을 때만 기본값을 넣고 참조를 돌려줍니다.
*count += 1
돌려받은 가변 참조로 값을 누적합니다.
키 도착
→
존재 확인
→
초기화
→
갱신
언제 쓰나
choice
덮어쓰기
최근 점수, 마지막 상태처럼 새 값이 기준일 때 insert를 씁니다.
기본값 보장
키가 없을 때만 생성하려면 entry().or_insert()가 맞습니다.
카운터
단어 빈도처럼 누적할 때는 or_insert(0) 뒤 값을 증가시킵니다.
중복 조회 방지
contains_key 후 insert보다 entry가 의도를 더 직접 표현합니다.