[英]Sparse integer array in Java
正如標題所說,有沒有辦法讓我在Java中有一個稀疏的int數組? 類似於int[]
或Integer[]
,但數組中的每個元素在實際寫入非零值之前不應占用空間。 這是因為我想盡可能地優化 memory(因為數組中的大部分元素將為 0/空),但可以選擇按索引查找,就像標准數組一樣。 在問這個問題之前,我已經考慮了以下選項:
int[]
和Integer[]
不是稀疏的 arrays; 即使我將Integer
數組的元素保留為null
,它仍然會占用空間,這對我來說不起作用。Pairs
)之類的選項將不起作用,因為這樣查找很困難。你的collections有多大? 請注意Integer
(盒裝引用類型)增加了顯着的 memory 開銷。 標准的 Java 集合類型( Map
, List
)只支持引用類型。
GNU Trove使用原始類型實現了大部分 collections,這增加了緩存局部性並減少了 memory 消耗。 也許這對你有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.