结构体

struct EntryView<K, V> where K <: Hashable & Equatable<K>

public struct EntryView<K, V>  where K <: Hashable & Equatable<K>

功能:HashMap 中某一个 Key 的视图。

通过对视图的修改,可以实现快速的获取或者修改 HashMap 中与 Key 对应的 Value 的值,在使用视图的过程中,如果集合修改、增加、删除了某些元素,视图会无效并抛出 ConcurrentModificationException

该结构体的实例只能通过对应 HashMapfunc entryView(K) 方法获得。

func getKey()

public func getKey(): K

功能:获取视图中的键,时间复杂度为 O(1)。

返回值:

  • K - 视图的键。

异常:

func getValue()

public func getValue(): ?V

功能:获取视图中的值,时间复杂度为 O(1)。

如果视图为空,返回 None;否则,返回键对应的值。

返回值:

  • ?V - 视图的值。

异常:

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 - 视图的值或者新插入的值。

异常:

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

异常:

prop value

public mut prop value: V

功能:获取或设置当前节点的值。

类型:V

异常:

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 结束的一个正序的迭代器。

异常:

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 结束的一个逆序的迭代器。

异常:

func next()

public func next(): Option<TreeMapNode<K, V>>

功能:访问后继节点。

返回值:

异常:

func prev()

public func prev(): Option<TreeMapNode<K, V>>

功能:访问前继节点。

返回值:

异常: