簡體   English   中英

哈希圖的Java流

[英]java stream for hashmap

我正在從數據庫中構建一個Hashmap<Integer, POJO> (可以包含超過1萬條記錄)。 然后我需要在遍歷哈希圖的情況下調用pdf生成函數

for(Map.Entry<Integer, LocationPojo> village : allVillages.entrySet()) {

                genPdf(stateCode, village.getValue().getDistrictCode().toString() , village.getValue().getBlockCode().toString(), 
                        village.getValue().getVillageCode().toString(), village.getValue().getVillageNameEnglish(), villageFile);

        }

是否可以使用java 8 stream api來更快地處理上述數據?

您可以使用流來並行化genPdf調用:

allVillages.values().stream().parallel().forEach(village -> {
    genPdf(stateCode, village.getDistrictCode().toString(), village.getBlockCode().toString(),
            village.getVillageCode().toString(), village.getVillageNameEnglish(), villageFile);
});

這是否真正加快了處理速度,取決於可以並行運行多少genPdf 磁盤驅動器一次只能寫一件事,因此,如果genPdf大部分時間都在將PDF文件寫到磁盤上,則不會有太大區別。 還請記住,這可能會改變村庄的處理順序。

暫無
暫無

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

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