簡體   English   中英

使用哈希表迭代哈希表列表

[英]Using a hashmap to iterate over a list of hashmaps

我正在使用哈希aclLine每個處理的aclLine添加相似的值

for (String aclLine : refinedFileContents){
 if(Some condition)
 {
   staticVariablesMap.put("lineNumber", **lineNumber**); 
   staticVariablesMap.put("**srcHostName**", batchBean.getSourceIpAddress());
   staticVariablesMap.put("batchBean", batchBean);
}
} 

稍后,我要遍歷每行的這些哈希映射,並執行特定於給定鍵,值對的某些操作(例如,獲取該lineNumbersrcHostName ),並使用它來處理后續步驟。 如何為哈希圖中的每個srcHostName條目遍歷這些收集的哈希圖? 我應該使用ArrayList / List存儲哈希圖的每個實例嗎? 這可行嗎?

在我看來,您應該將哈希圖中的屬性組合成一個對象。 然后,您可以只使用一個哈希圖。

public class AclLine {
    private long lineNumber;
    private String srcHostName;
    private Object batchBean; 
}

Map<AclLine> lines = new HashMap<AclLine>();
// Or maybe a List?
List<AclLine> lines = new ArrayList<AclLine>();

還是有原因需要這些“並行”映射條目?

我沒有完全解決您的問題,就像您只將值放在一個哈希圖中一樣,並且您想要迭代哈希圖。您可以像這樣迭代哈希圖。

Iterator<Entry<String, Object>> it = hashMap.entrySet().iterator();
while (it.hasNext())
{
    Map.Entry<String, Object> entry = (Map.Entry<String, Object>)it.next();
}

暫無
暫無

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

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