2016-01-25 23 views
0

我有一個列表中包含的對象打印清單高效的Java對象的方式

Object{ 
int group 
String name 

... 
....} 

我創建文件的組ID的數量。 爲了將列表元素打印到不同的文件中,我檢查列表並將每個對象寫入其組文件。 例如:

Object { 
group - 3 
name - RUth 
} 

將被寫入到文件名爲3.

Object { 
group - 2 
name - Dan 

}

將被寫入到文件名爲2.

我對+700,000列出了元件。 是否有任何有效的方法將其寫入不同的文件?

+0

排序的列表將是有效的 – sidgate

+1

那麼,你可以排序,所以文件順序寫入。我的意思是:1.打開文件「1」,寫入全部「1」... 2.打開文件「2」,寫入全部「2」...爲了避免打開/關閉每個對象並散佈文件。 – Fildor

回答

0

創建一個java.util.Map<Integer, List<Object>>,其中密鑰將是組的ID併爲該組的對象列表賦值。迭代填充地圖的對象列表。迭代通過提交每個對象列表的映射條目到來自執行者池的執行者,該執行者池將把列表寫入單個文件。

+0

如果我之前對列表進行排序會有幫助嗎? – userit1985

+0

只有正確的性能測試才能給出正確的答案。用排序和未排序的列表構建一個解決方案並試一試。我會說,與寫入文件的I/O操作相比,在內存中對記錄進行排序不會產生很大的影響。 –

+0

你說得對。它沒有那麼大的不同。謝謝 – userit1985