确定性是什么意思?

2022-09-01 05:43:29

我正在阅读Java Hashmap文档,但我不明白这句话。

请注意,HashMap 的迭代顺序是非确定性的。如果需要确定性迭代,请使用LinkedHashMap。

确定性是什么意思?


答案 1

最简单的定义:

给定相同的输入,您始终获得相同的输出。

上面,它说迭代完全相同的HashMap可能会在不同的时间产生不同的结果,即使您没有更改任何内容。通常这并不重要,但如果有,你应该使用LinkedHashMap。


答案 2

在可以提前“确定”的顺序中。

由于散列的工作方式,地图中的元素被“打乱”到任意位置。加扰位置不能轻易地提前确定 - 它们不可确定 - 你不知道结果的顺序。


推荐