ArrayList를 map (Object ID와 키 값으로 Object)에 삽입하려고합니다.12 번째 인덱스의 첫 번째 레코드를 삽입하는 Hashmap
첫 번째 삽입은 12 번째 색인에서 발생합니다.
HashMap의 기본 크기는 16이므로 첫 번째 인덱스에는 네 번째 레코드가 삽입됩니다 (인덱스가 마지막으로 16 번째를 의미 함).
주문이 잘못되었습니다.
LinkedHashMap
도 시도해 보았습니다. 같은 결과가오고있다.
for (Type object: Objects) {
map.put(object.obj.getId() , object);
}
는이 문제를 해결하기 위해 도와주세요 :
그리고 여기 내 코드입니다.
감사합니다.
어떤 주문을 하시겠습니까? HashMap에는 순서가 없다? LinkedHashMap은 삽입 주문을 제공합니다. 키를 정렬하려면 TreeMap을 사용하십시오. – Eran
@Eran지도에 6 개의 레코드를 삽입합니다. 삽입은 12 번째 색인부터 시작됩니다. (디버깅으로 보았습니다.)하지만 1 위부터 원합니다. –
색인을 제어하지 않습니다 (적어도 직접적으로는). 인덱스는'hashCode'를 기반으로 결정됩니다. 그리고 어쨌든 색인에 신경 쓰지 않아야합니다. – Eran