# A HashCollection is an array of HashNode[K] indexed by the K hash value
private abstract class HashCollection[K]
type N: HashNode[K]
# A HashCollection is an array of HashNode[K] indexed by the K hash value
private abstract class HashCollection[K]
type N: HashNode[K]
# cache: `is` is used instead of `==` because it is a faster filter (even if not exact)
if k.is_same_instance(_last_accessed_key) then return _last_accessed_node
# cache: `is` is used instead of `==` because it is a faster filter (even if not exact)
if k.is_same_instance(_last_accessed_key) then return _last_accessed_node
# Return the node associated with the key (but with the index already known)
fun node_at_idx(i: Int, k: nullable Object): nullable N
do
# Return the node associated with the key (but with the index already known)
fun node_at_idx(i: Int, k: nullable Object): nullable N
do
var i = index_at(k)
var node = node_at_idx(i, k)
if node == null then return
var i = index_at(k)
var node = node_at_idx(i, k)
if node == null then return