> Java > java지도 시간 > Java의 HashMap은 검색 순서를 보장합니까?

Java의 HashMap은 검색 순서를 보장합니까?

Susan Sarandon
풀어 주다: 2024-12-14 08:13:10
원래의
425명이 탐색했습니다.

Does Java's HashMap Guarantee Retrieval Order?

해시맵 검색 순서가 유지되나요?

Java에서 HashMaps는 특정 알고리즘을 사용하여 데이터를 저장하고 검색하는데, 일부 사용자는 이에 대해 궁금해합니다. 값이 검색되는 순서입니다. 코드 조각을 살펴보면서 HashMap 검색 순서 뒤에 숨은 진실을 밝혀낼 것입니다.

import java.util.HashMap;

public class HashMapExample {
   public static void main(String[] args) {
       HashMap<Integer, String> hashmap = new HashMap<Integer, String>();
       hashmap.put(1, "apple" );
       hashmap.put(2, "lemon" );
       hashmap.put(3, "orange" );
       hashmap.put(4, "banana" );
       hashmap.put(5, "litchi" );
       hashmap.put(6, "mango" );
       hashmap.put(7, "papaya" );

       System.out.println(hashmap.size());

       for (String key : hashmap.values()) {
           System.out.println(key);
       }
   }
}
로그인 후 복사

출력:

7
apple
lemon
orange
banana
litchi
mango
papaya
로그인 후 복사

놀라운 행동 :

놀랍게도 그 가치는 삽입된 순서대로 검색됩니다. 그러나 이 관찰이 항상 사실이 아닐 수도 있습니다.

진실:

HashMap Javadoc에 따르면 검색 순서가 시간이 지나도 일관되게 유지된다는 보장은 없습니다. . 이는 검색 순서가 임의로 변경될 수 있음을 의미합니다.

일관된 순서가 필요합니까?

일관된 순서가 중요한 경우 LinkedHashMap 또는 TreeMap과 같은 대체 데이터 구조를 선택할 수 있습니다. .

  • LinkedHashMap: 삽입 또는 액세스 순서 유지 (LIFO)
  • TreeMap: 키를 기준으로 비교 순서 유지

위 내용은 Java의 HashMap은 검색 순서를 보장합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿