我正在使用散列图为每个aclLine
已处理的
for (String aclLine : refinedFileContents){
if(Some condition)
{
staticVariablesMap.put("lineNumber", **lineNumber**);
staticVariablesMap.put("**srcHostName**", batchBean.getSourceIpAddress());
staticVariablesMap.put("batchBean", batchBean);
}
}
稍后我想迭代每行的这些哈希映射并执行特定于给定键,值对的一些操作(例如,获取srcHostName
的{{1}})并使用它来处理后续步骤。如何为hashmap中的每个lineNumber
条目迭代这些收集的哈希映射?我应该使用ArrayList / List来存储hashmap的每个实例吗?这可行吗?
答案 0 :(得分:2)
听起来我应该将哈希映射中的属性组合到一个对象中。然后你可以使用一个哈希映射。
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>();
或者您是否有理由需要这些“并行”地图条目?
答案 1 :(得分:0)
我没有完全像你将值放在一个哈希映射中那样得到你的问题。你想迭代哈希映射 您可以像这样迭代哈希映射。
Iterator<Entry<String, Object>> it = hashMap.entrySet().iterator();
while (it.hasNext())
{
Map.Entry<String, Object> entry = (Map.Entry<String, Object>)it.next();
}