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