【发布时间】:2013-04-30 17:21:43
【问题描述】:
我正在使用哈希图为每个已处理的aclLine 添加相似的值
for (String aclLine : refinedFileContents){
if(Some condition)
{
staticVariablesMap.put("lineNumber", **lineNumber**);
staticVariablesMap.put("**srcHostName**", batchBean.getSourceIpAddress());
staticVariablesMap.put("batchBean", batchBean);
}
}
稍后我想为每一行迭代这些哈希图,并执行一些特定于给定键、值对的操作(例如,为该 lineNumber 获取 srcHostName)并使用它来处理后续步骤。如何为哈希图中的每个 srcHostName 条目迭代这些收集的哈希图?我应该使用 ArrayList/List 来存储哈希图的每个实例吗?这可行吗?
【问题讨论】:
-
哈希图不保留插入顺序。如果您正在搜索,我建议使用并行数组/列表。
-
感谢您的快速回复,我正在使用添加到地图中的排序序列,因此我认为应该注意这一点。请您告诉如何为每个哈希图条目迭代该列表,或者我在哪里可以阅读相同的内容。谢谢
-
您甚至将 HashMap 中的条目称为“行”这一事实告诉我,您很有可能没有按照预期的方式使用它。如果你能更好地说明这样做的目的是什么,我毫不怀疑有人会有更好的方式为你一起完成这一切。
-
@Thor84no:我指的是“aclLine”,作为线,我的坏小姐使用它!我的意图是迭代每个aclLine,然后满足某些条件(可能会从这里走错路,请更正..),我想为现有 Forloop 中的其他一些条目添加键/值对,因此我使用了 hashmap,以便稍后我可以检索键的值。由于 aclLines 的数量很多,所以会有不止一个 hashmap。