如何在Map <Pair <Match,DatapathId>,FlowRuleStats>中进行迭代循环?

时间:2019-09-14 17:26:33

标签: java dictionary google-floodlight

我正在研究Floodlight控制器。我有一张地图
Map<Pair<Match,DatapathId>, FlowRuleStats>
我只有DatapathId

这是我的一些代码:

Map<Pair<Match,DatapathId>, FlowRuleStats> getFlowStats();
Map<Pair<Match, DatapathId>, FlowRuleStats> m;
m = switchStatistics.getFlowStats();

如何进行循环并处理m中的所有元素?

1 个答案:

答案 0 :(得分:0)

该地图被锁定在Pair<Match, DatapathId>上,显然您没有。您只有DatapathId。这意味着您不能进行基于键的查找。完全没有。

您唯一可以做的就是遍历整个地图:

for (var entry : m.entrySet()) {
    if (!entry.getKey().getRight().equals(datapathidYouHave)) continue;
    Pair<Match, DatapathId> md = entry.getKey();
    FlowRuleStats stats = entry.getValue();
    .....
}