簡體   English   中英

Java中保存Bigdata Integer記錄的最佳數據結構是什么?

[英]What is the best data structure in java for saving Bigdata Integer records?

我正在處理大量圖形,因此需要將它們的記錄保存在內存中。我有1,000,000,000條包含整數的記錄。 記錄是:

record1: 13455659009,2459904444, 888999, 45590008
record2: 7787687970097,98776,898767746,6556
........
record1000000000:  8736406,.....,987586985,764765282

首先,我使用位集保存它們,例如,為record1我這樣做:

BitSet bs=new BitSet();
bs.set(134659009);
bs.set(245990444);
bs.set(888999);
bs.set(45590008);

但是位集效率不高。 因為我只有四個數字,但節省了245990444。我想將這些記錄保存在ram中,因此占用更少的空間很重要。 將這些整數記錄保存在ram中的最佳結構是什么? 哈希集比比特集好嗎?

最有效的結構可能是原始整數數組,即int[] 根據您的使用方式,將它包裝成一個實現java.lang.Set<Integer>的類可能(也可能沒有)幫助。

另一方面,為什么您甚至需要圖形節點ID的整數列表? 為什么不僅是Node類,還需要它的Set<Node>成員以用於圖形邊緣?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM