- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
谁能帮我弄清楚两者之间的区别SortedMap、CheckedSortedMap、synchronizedSortedMap。我真的很难决定什么时候使用哪一个?
提前致谢。
最佳答案
SortedMap
是一个接口(interface),它是一个 Map(键值对),并添加了以某种定义的方式对其键进行排序的契约(Contract)。由于键的排序,SortedMap 有额外的方法,如 SortedMap<K,V> subMap(K fromKey, K toKey)
, SortedMap<K,V> headMap(K toKey) ...
“普通” map 没有。如果您迭代 sortedMap 的键集,您会发现一个确定的顺序。
A Treemap
是该接口(interface)的实现。如果您自己创建一个新的 SortedMap 对象,它几乎总是用于 TreeSet
.
对于 checkedSortedMap
或任何其他 Collections.checkedXXX()
方法,这是对它们的用途的很好的讨论:What is the Collections.checkedList() call for in java?
Collections 框架中的类默认是不同步的。对于 map ,这意味着如果您有一个在两个或多个线程之间共享的 map ,并且一个正在执行 put(A, value)
。另一个线程也在调用 put(A, othervalue)
同时在 map 上,会发生奇怪的事情。 Collections.synchronizedSortedMap(sortedMap)
方法给出了一个同步 map ,它包装了给定的 map 并具有适当的锁定机制。
关于java - SortedMap 与 CheckedSortedMap 与 synchronizedSortedMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12907813/
我是 Scala 新手。我想在 Scala 中创建一个包含两个可变 SortedMap 的类,一个按正常排序顺序(递增),一个按反向排序顺序(递减) class MyClass { var map
我有一个无序的 map : class O(val a: Int) Map[String, List[O]] 我想变成: SortedMap[String, SortedMap[Int, O]] 子
我是 Scala 的新手。 我正在使用 SortedMap在我的代码中,我想使用 mapValues 创建一个对值进行一些转换的新 map 。 而不是返回一个新的 SortedMap ,mapValu
给定一个 key k在 SortedMap 中,如何有效地找到最大的键 m小于或等于 k ,也是最小的键 n大于或等于 k .谢谢你。 最佳答案 查看 2.9.0 的源代码,下面的代码似乎是你能做的最
我想实现一个带有键和值的 sortedMap,以便可以通过提供一些子序列来搜索键。例如, map 包含 3 个条目: abcd -> obj1 def -> obj2 abccd -> obj3 对于
我确信这很简单,但出于某种原因我没有得到我想要的。 我有一个 SortedMap值,我想流式传输和过滤它并仅保存一些值。 例如: SortedMap input = new TreeMap<>
我有一个 SortedMap> .其中每个字符串都是一个带有可能答案和附加点的问题。 我如何使用这个 Map按位置打印问题(第一个,第二个,...) sampleArray[0] ? 最佳答案 遍历
可以使用 myMap.entrySet().iterator() 中的迭代器遍历 SortedMap。但是这个迭代器是否保留了已排序映射对象的顺序? SortedMap 接口(interface)没有
我需要一个有序映射,每个键都包含这些字段[srcAddr, dstAddr, srcPort, dstPort, protocol](这个对应一个流) 那么这个键包含一个值列表,每个值包含一些字段。例
我有以下方法在 map 中映射值: public static Map transformValues(Map input, Function function) { return inpu
我想要一个排序的映射如下: srcAddr, dstAddr, srcPort, dstPort, protocol as keys 和列表的值作为 每个键的 packetLength、timeArr
这就是我面临的问题,我正在尝试使用 Id 作为键并使用对象指针作为值来实现 HashMap。 在每个对象中,有几个整数,假设它们代表对象中定义的各种类别的投资金额。 但是,我希望能够对特定类别中的投资
我必须实现方法 maxPricePerProductType 返回产品类型的最高出价,产品按字母顺序排序。没有出价的产品不予考虑。方法原型(prototype)为: public SortedMap
正如我们所知,SortedMap 维护按键排序的条目。我在这个论坛上阅读了很多主题,看到了很多按值对 SortedMap 进行排序的示例。但是,正如您所知,当我将一个项目放入默认 SortedMap
我有一个 SortedMap (实现是一个 TreeMap ),看起来像这样: [ProjectOne] -> [ActivityOne,ActivityTwo,ActivityThree] [Pro
我有一个 SortedMap(特别是 TreeMap),我从中提取值。稍后,我需要获取第一个和最后一个值,因为它们在 SortedMap 中排序。 SortedMap.values() 返回一个 Co
我是 Java 的新手,正在学习集合。作为练习,我正在尝试使用自定义比较器对 SortedMap 进行排序。我希望能够按平均成绩降序对学生 SortedMap 进行排序。 SortedMap stu
我有一个 SortedMap>我想删除 List如果List是空的,我也会删除 Long键。 在 Java 8 中是否有一个优雅的解决方案? 通过这段代码,我得到一个 ConcurrentModifi
我在 Java 中工作并且有一个 SortedMap,它是作为 ConcurrentSkipListMap 实现的。我需要从 SortedMap 的头部删除一些项目——即所有键小于某个阈值的项目。实际
我想知道有什么更好的方法可以在大型 SortedMap 中找到大于输入值的第一个值,而不是在下面的示例中循环遍历所有值。或者如果 SortedMap 是用于此的最佳结构。 这可以使用 google-c
我是一名优秀的程序员,十分优秀!