Iteration order of HashSet

后端 未结 9 937
眼角桃花
眼角桃花 2020-11-27 07:32

If every object added to a java.util.HashSet implements Object.equals() and Object.hashCode() in a deterministic fashion, is the iteration order over the HashSet guaranteed

9条回答
  •  时光说笑
    2020-11-27 08:15

    Such assumption cannot be made. The javadoc says that:

    This class implements the Set interface, backed by a hash table (actually a HashMap instance). It makes no guarantees as to the iteration order of the set; in particular, it does not guarantee that the order will remain constant over time.

    The closest you can get is to use a LinkedHashSet, which maintains the insertion order.

提交回复
热议问题