해시맵 검색 순서가 유지되나요?
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과 같은 대체 데이터 구조를 선택할 수 있습니다. .
위 내용은 Java의 HashMap은 검색 순서를 보장합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!