我在Floodlight控制器上工作。我有一张地图Map<Pair<Match,DatapathId>, FlowRuleStats>
而我只有DatapathId
。
这是我的一些代码:
Map<Pair<Match,DatapathId>, FlowRuleStats> getFlowStats();
Map<Pair<Match, DatapathId>, FlowRuleStats> m;
m = switchStatistics.getFlowStats();
如何进行循环并处理
m
中的所有元素? 最佳答案
该地图以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();
.....
}