获得徽章 0
求大佬解答:HashMap中keySet()、values(),不遍历只打印,键值对不对应?
问题如下
public class test {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Aa",1);
map.put("BB",2);
map.put("3",3);
map.put("4",4);
System.out.println(map.keySet());
System.out.println(map.values());
}
}
输出的结果看,是对应的
[Aa, BB, 3, 4]
[1, 2, 3, 4]
但是gpt给出的解答是:
> 在这个输出中,键和值似乎顺序匹配,但这仅仅是巧合。HashMap 的内部结构决定了其遍历顺序是不可预测的。虽然目前表现正常,但在某些情况下(例如,插入数据顺序不同、哈希冲突、重新哈希等情况下),keySet() 和 values() 的顺序可能不会对应。
求大佬解答,该怎么验证
问题如下
public class test {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Aa",1);
map.put("BB",2);
map.put("3",3);
map.put("4",4);
System.out.println(map.keySet());
System.out.println(map.values());
}
}
输出的结果看,是对应的
[Aa, BB, 3, 4]
[1, 2, 3, 4]
但是gpt给出的解答是:
> 在这个输出中,键和值似乎顺序匹配,但这仅仅是巧合。HashMap 的内部结构决定了其遍历顺序是不可预测的。虽然目前表现正常,但在某些情况下(例如,插入数据顺序不同、哈希冲突、重新哈希等情况下),keySet() 和 values() 的顺序可能不会对应。
求大佬解答,该怎么验证
展开
2
6