What the iteration cost on a HashSet also depend on the capacity of backing map?

后端 未结 4 1966
醉酒成梦
醉酒成梦 2020-12-31 10:22

From the JavaDocs of HashSet:

This class offers constant time performance for the basic operations (add, remove, contains and size), assuming the ha

4条回答
  •  Happy的楠姐
    2020-12-31 10:52

    Why does iteration takes time proportional to the sum(number of elements in set+ capacity of backing map) and not only to the number of elements in the set itself ?

    The elements are dispersed inside the underlying HashMap which is backed by an array.
    So it is not known which buckets are occupied (but it is known how many elements are totally available).
    So to iterate over all elements all buckets must be checked

提交回复
热议问题