结构体
struct EntryView<K, V> where K <: Hashable & Equatable<K>
public struct EntryView<K, V> where K <: Hashable & Equatable<K>
通过对视图的修改,可以实现快速的获取或者修改 HashMap 中与 Key 对应的 Value
的值,在使用视图的过程中,如果集合修改、增加、删除了某些元素,视图会无效并抛出 ConcurrentModificationException。
该结构体的实例只能通过对应 HashMap 的 func entryView(K)
方法获得。
func getKey()
public func getKey(): K
功能:获取视图中的键,时间复杂度为 O(1)。
返回值:
- K - 视图的键。
异常:
- ConcurrentModificationException - 当此视图在使用的过程中,对应的 HashMap 被其它操作修改时,抛此异常。
func getValue()
public func getValue(): ?V
功能:获取视图中的值,时间复杂度为 O(1)。
如果视图为空,返回 None;否则,返回键对应的值。
返回值:
- ?V - 视图的值。
异常:
- ConcurrentModificationException - 当此视图在使用的过程中,对应的 HashMap 被其它操作修改时,抛此异常。
func isAbsent()
public func isAbsent(): Bool
功能:判断视图是否为空。
如果视图为空,说明对应的 HashMap 中不存在 Key 值和此视图的 Key值相同的 (Key, Value) 组合。
返回值:
- Bool - 如果视图为空,则返回 true;否则,返回 false。
func setValue(V)
public mut func setValue(v: V): V
功能:设置视图中的值,时间复杂度为 O(1)。
如果视图为空,则插入指定的键值对,并返回插入的值;否则,返回设置前的值。
参数:
- v: V - 指定的值。
返回值:
- V - 视图的值或者新插入的值。
异常:
- ConcurrentModificationException - 当此视图在使用的过程中,对应的 HashMap 被其它操作修改时,抛此异常。
struct TreeMapNode<K, V> where K <: Comparable<K>
public struct TreeMapNode<K, V> where K <: Comparable<K>
功能:TreeMap 的节点结构。
注意:
在使用 TreeMapNode 实例进行节点操作时,如果此时对对应的 TreeMap 进行插入或删除操作,将会导致 TreeMapNode 失效,对失效的 TreeMapNode 进行操作将会抛出异常 ConcurrentModificationException。
prop key
public prop key: K
功能:获取当前节点的键。
类型:K
异常:
- ConcurrentModificationException - 当此 TreeMapNode 失效时,抛出异常。
prop value
public mut prop value: V
功能:获取或设置当前节点的值。
类型:V
异常:
- ConcurrentModificationException - 当此 TreeMapNode 失效时,抛出异常。
func backward(K, Bool)
public func backward(bound: K, inclusive!:Bool = true): Iterator<(K, V)>
功能:从当前节点开始,到 bound 结束,生成一个正序的迭代器。
参数:
- bound: K - 传入的键。
- inclusive!: Bool - 是否包含传入的键本身,默认为 true ,即包含传入的键本身。
返回值:
- Iterator <(K, V) > - 返回从当前节点开始,到 bound 结束的一个正序的迭代器。
异常:
- ConcurrentModificationException - 当此 TreeMapNode 失效时,抛出异常。
func forward(K, Bool)
public func forward(bound: K, inclusive!:Bool = true): Iterator<(K, V)>
功能:从当前节点开始,到 bound 结束,生成一个逆序的迭代器。
参数:
- bound: K - 传入的键。
- inclusive!: Bool - 是否包含传入的键本身,默认为 true ,即包含传入的键本身。
返回值:
- Iterator <(K, V) > - 返回从当前节点开始,到 bound 结束的一个逆序的迭代器。
异常:
- ConcurrentModificationException - 当此 TreeMapNode 失效时,抛出异常
func next()
public func next(): Option<TreeMapNode<K, V>>
功能:访问后继节点。
返回值:
- Option < TreeMapNode < K, V >> - 如果存在后继节点,用 Option<TreeMapNode<K, V>> 封装并返回;否则,返回 Option<TreeMapNode<K, V>>.None。
异常:
- ConcurrentModificationException - 当此 TreeMapNode 失效时,抛出异常。
func prev()
public func prev(): Option<TreeMapNode<K, V>>
功能:访问前继节点。
返回值:
- Option < TreeMapNode < K, V >> - 如果存在前继节点,用 Option<TreeMapNode<K, V>> 封装并返回;否则,返回 Option<TreeMapNode<K, V>>.None。
异常:
- ConcurrentModificationException - 当此 TreeMapNode 失效时,抛出异常。