시간이 지남에 따라 키가 변화하는 객체를 저장하기 위해 해시 맵을 사용하고 있습니다.
HashMap 키 udpate와 더블 엔트리
HashMap<String,Stuff> hm = new HashMap<String,Stuff>() Stuff stuff = new Stuff(); hm.put("OrignalKey", stuff);
나는 "OrignalKey"을 제거보다 더 나은 아무것도 넣어() 동일한 개체에 새 항목을 찾을 수 없습니다.
- 중복 항목을 떠나 실제 메모리 비용은 무엇입니까 (겹치는 위험이 없음) :
hm.remove("OriginalKey"); hm.put("NewKey", stuff);
제거는() 따라서 내 질문에 상당한 CPU에 부담을주고있는 것 같다?
- 방금 깔끔한 swapKey() 메소드가 누락 되었습니까?
아마도 너무 명백한 해결책입니다. 시간이 지남에 따라 "진화 할"키를 사용하지 마십시오. –
? 아마도 StringBuilder를 사용 하시겠습니까? –
나는 그것에게 탄, 감사를 줄 것이다 – MonoThreaded