2015-11-06 70 views
1

我想高效地存儲一組整數。由於包裝類的原因,Java中的HashSet在內存使用方面效率不高。排序的整數數組將失去分期的恆定時間查找。我也需要遍歷每個元素,所以BitSet不是很好。針對java的整數集的內存高效存儲器

+5

你有使用'HashSet的'取證難是一個問題,您的應用? –

+0

如果hashset使用原始類型而不是包裝類,那麼它是有效的內存,但它沒有。 –

+0

我知道。從內存使用的角度來看,'HashSet '是令人震驚的。不僅僅是因爲它使用'Integer'而不是'int',而且因爲它受到'HashMap'的支持,所以每個條目都有一個完全無用的值域。有很多用於原始集合的庫,但除非您確定HashSet不是一個選項,否則我會堅持最熟悉的類。 –

回答