gpt4 book ai didi

java - 关于 eclipse 中的 java map

转载 作者:行者123 更新时间:2023-12-01 12:32:55 24 4
gpt4 key购买 nike

有一些开源 Controller ( floodlight ),我目前开始了解代码结构,但我在代码中看到了这一行,是否应该添加

Collections.synchronizedSortedMap(new TreeMap<Long, Double>())

什么将被添加到 flowStatTable 中?

protected SortedMap <FlowEntry, SortedMap <Long, Double>> flowStatTable;
flowStatTable.put(matchedFlow, Collections.synchronizedSortedMap(new TreeMap<Long, Double>()));

为什么这样访问:

flowStatTable.get(matchedFlow).put(checkPointTimeStamp, utilization);

最佳答案

SortedMap <FlowEntry, SortedMap <Long, Double>>

这声明了 SortedMap 。 key 类型为FlowEntry值部分为SortedMap <Long, Double>所以另一张 map 上有 Long key 和一个Double值。

flowStatTable.put(matchedFlow, Collections.synchronizedSortedMap(new TreeMap<Long, Double>()));

这是向外部 map 添加一个条目。关键是matchedFlow ,值为

Collections.synchronizedSortedMap(new TreeMap<Long, Double>())

这是使用 new TreeMap<Long, Double>() 创建的排序 map 并使用 Collections.synchronizedSortedMap将其转换为同步映射以使其线程安全。

flowStatTable.get(matchedFlow).put(checkPointTimeStamp, utilization);

此内容的第一部分 flowStatTable.get(matchedFlow)正在从外部映射中获取值,因此获取的结果将是 SortedMap <Long, Double>put(checkPointTimeStamp, utilization)然后,部分将在此内部映射中存储新的键/值对。

你可以这样编写代码:

SortedMap<Long, Double> newInner = Collections.synchronizedSortedMap(new TreeMap<Long, Double>());

flowStatTable.put(matchedFlow, newInner);

...

SortedMap<Long, Double> existingInner = flowStatTable.get(matchedFlow);

existingInner.put(checkPointTimeStamp, utilization);

关于java - 关于 eclipse 中的 java map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25801872/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com