长风秋雁
你是遇到巧合了吧,例如使用如下代码输出:123456789public static void main(String[] args) { Map<String, String> map = new HashMap<>(); for (int i = 0; i < 10; i++) { map.put(i + "", i + ""); } for (String key : map.keySet()) { System.out.println(key); }}但是你再试试下面这段代码输出就和输入顺序不一致了:123456789public static void main(String[] args) { Map<String, String> map = new HashMap<>(); for (int i = 8; i < 15; i++) { map.put(i + "", i + ""); } for (String key : map.keySet()) { System.out.println(key); }}前面之所以有序是因为这些key通过哈希后也是连续的,遍历时就变成有顺序了。