- 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/
谁能帮我弄清楚两者之间的区别SortedMap、CheckedSortedMap、synchronizedSortedMap。我真的很难决定什么时候使用哪一个? 提前致谢。 最佳答案 SortedMa
我是一名优秀的程序员,十分优秀!