Этот класс не дает никаких гарантий. что касается порядка карты; в частности, он не гарантирует, что порядок останется постоянным с течением времени. Документация по Java 11
Код: Выделить всё
import java.util.HashMap;
public class HashMapDemo {
public static void main(String[] args) {
HashMap dishes = new HashMap();
// Adding more elements with complex keys
dishes.put("dish-1234", "Pho");
dishes.put("dish-5678", "Spicy Beef Noodle Soup");
dishes.put("dish-9012", "Broken Rice");
dishes.put("dish-3456", "Banh Mi");
dishes.put("dish-7890", "Hu Tieu");
dishes.put("dish-2345", "Mi Quang");
dishes.put("dish-6789", "Crab Noodle Soup");
dishes.put("dish-0123", "Rolled Rice Cake");
System.out.println("First time:");
dishes.forEach((id, name) -> System.out.println(id + ": " + name));
// Create new HashMap with same data
HashMap dishes2 = new HashMap();
dishes2.putAll(dishes);
System.out.println("\nSecond time (New HashMap):");
dishes2.forEach((id, name) -> System.out.println(id + ": " + name));
}
}
Код: Выделить всё
First time:
dish-7890: Hu Tieu
dish-3456: Banh Mi
dish-2345: Mi Quang
dish-1234: Pho
dish-0123: Rolled Rice Cake
dish-5678: Spicy Beef Noodle Soup
dish-9012: Broken Rice
dish-6789: Crab Noodle Soup
Second time (New HashMap):
dish-7890: Hu Tieu
dish-3456: Banh Mi
dish-2345: Mi Quang
dish-1234: Pho
dish-0123: Rolled Rice Cake
dish-5678: Spicy Beef Noodle Soup
dish-9012: Broken Rice
dish-6789: Crab Noodle Soup
Я также читал некоторые сообщения, в которых говорится об этой проблеме, но я не могу воспроизвести
- Почему HashMap не гарантирует, что порядок карты останется постоянным с течением времени.
- Причина разницы в порядок вставки HashMap и LinkedHashMap
Подробнее здесь: https://stackoverflow.com/questions/792 ... entation-s