关于eclipse中的java映射
有一些开源控制器(),我现在开始理解代码结构,但我在代码中看到了这一行,添加是否正确关于eclipse中的java映射,java,Java,有一些开源控制器(),我现在开始理解代码结构,但我在代码中看到了这一行,添加是否正确 Collections.synchronizedSortedMap(new TreeMap<Long, Double>()) 这将向外部映射添加一个条目。键为matchedFlow,值为 Collections.synchronizedSortedMap(new TreeMap<Long, Double>()) 此flowStatTable.get(matchedFlow)的第一部分
Collections.synchronizedSortedMap(new TreeMap<Long, Double>())
这将向外部映射添加一个条目。键为matchedFlow
,值为
Collections.synchronizedSortedMap(new TreeMap<Long, Double>())
此flowStatTable.get(matchedFlow)
的第一部分是从外部映射获取一个值,因此get的结果将是一个SortedMap
。然后,put(checkPointTimeStamp,utilization)
部分将在这个内部映射中存储一个新的键/值对
您可以这样编写代码:
flowStatTable.get(matchedFlow).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);
SortedMap newInner=Collections.synchronizedSortedMap(newtreemap());
flowStatTable.put(匹配的流,新内部);
...
SortedMap ExistingInternal=flowStatTable.get(匹配的流);
existinginternal.put(检查点时间戳、利用率);
这是在已排序的映射中定义树映射吗!!!我不明白为什么java中的序列是这样的??当我们使用这种类型的参数传递时?首先我们得到flowStatTable.get(matchedFlow),然后我们放入put(checkPointTimeStamp,utilization);在那把钥匙里?我是对的吗?我已经用更简单的步骤在答案中添加了等价的代码。
flowStatTable.put(matchedFlow, Collections.synchronizedSortedMap(new TreeMap<Long, Double>()));
Collections.synchronizedSortedMap(new TreeMap<Long, Double>())
flowStatTable.get(matchedFlow).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);