Package | Description |
---|---|
cn.hutool.core.map |
Map相关封装,提供特殊Map实现以及Map工具MapUtil
|
Modifier and Type | Class and Description |
---|---|
static class |
LinkedForestMap.EntryNodeWrapper<K,V,N extends TreeEntry<K,V>>
Map.Entry 包装类 |
Modifier and Type | Class and Description |
---|---|
static class |
LinkedForestMap.TreeEntryNode<K,V>
树节点
|
Modifier and Type | Method and Description |
---|---|
TreeEntry<K,V> |
LinkedForestMap.get(Object key)
获取key对应的节点
|
TreeEntry<K,V> |
TreeEntry.getChild(K key)
获取以当前节点作为根节点的树结构,然后获取该树结构中的当前节点的指定子节点
|
TreeEntry<K,V> |
TreeEntry.getDeclaredParent()
获取当前节点直接关联的父节点
|
default TreeEntry<K,V> |
ForestMap.getDeclaredParentNode(K key)
获取指定节点的直接父节点
比如:若存在 a -> b -> c 的关系,此时输入 a 将返回 null,输入 b 将返回 a,输入 c 将返回 b |
TreeEntry<K,V> |
TreeEntry.getParent(K key)
获取以当前节点作为叶子节点的树结构,然后获取该树结构中当前节点的指定父节点
|
default TreeEntry<K,V> |
ForestMap.getParentNode(K key,
K parentKey)
获取以指定节点作为叶子节点的树结构,然后获取该树结构中指定节点的指定父节点
|
TreeEntry<K,V> |
TreeEntry.getRoot()
获取以当前节点作为叶子节点的树结构,然后获取该树结构的根节点
|
default TreeEntry<K,V> |
ForestMap.getRootNode(K key)
获取以指定节点作为叶子节点的树结构,然后获取该树结构的根节点
比如:存在 a -> b -> c 的关系,则输入 a/b/c 都将返回 a |
TreeEntry<K,V> |
LinkedForestMap.EntryNodeWrapper.getValue() |
default TreeEntry<K,V> |
ForestMap.put(K key,
TreeEntry<K,V> node)
添加一个节点,效果等同于
putNode(key, node.getValue())
若key对应节点不存在,则以传入的键值创建一个新的节点;
若key对应节点存在,则将该节点的值替换为node 指定的值;
|
TreeEntry<K,V> |
ForestMap.putNode(K key,
V value)
添加一个节点
若key对应节点不存在,则以传入的键值创建一个新的节点;
若key对应节点存在,则将该节点的值替换为
node 指定的值;
|
TreeEntry<K,V> |
LinkedForestMap.remove(Object key)
将指定节点从当前
Map 中删除
若存在父节点或子节点,则将其断开其与父节点或子节点的引用关系;
若同时存在父节点或子节点,则会在删除后将让子节点直接成为父节点的子节点,比如:现有引用关系 a -> b -> c,删除 b 后,将有 a -> c |
TreeEntry<K,V> |
ForestMap.remove(Object key)
将指定节点从当前
Map 中删除
若存在父节点或子节点,则将其断开其与父节点或子节点的引用关系;
若同时存在父节点或子节点,则会在删除后将让子节点直接成为父节点的子节点,比如:现有引用关系 a -> b -> c,删除 b 后,将有 a -> c |
TreeEntry<K,V> |
LinkedForestMap.EntryNodeWrapper.setValue(TreeEntry<K,V> value) |
Modifier and Type | Method and Description |
---|---|
Set<Map.Entry<K,TreeEntry<K,V>>> |
LinkedForestMap.entrySet()
|
default Collection<TreeEntry<K,V>> |
ForestMap.getChildNodes(K key)
获取指定父节点的全部子节点
比如:若存在 a -> b -> c 的关系,此时输入 b 将返回 c,输入 a 将返回 b,c |
Map<K,TreeEntry<K,V>> |
TreeEntry.getChildren()
获取以当前节点作为根节点的树结构,然后获取该树结构中的当前节点的全部子节点
|
Map<K,TreeEntry<K,V>> |
LinkedForestMap.TreeEntryNode.getChildren()
获取以当前节点作为根节点的树结构,然后按广度优先获取该树结构中的当前节点的全部子节点
|
default Collection<TreeEntry<K,V>> |
ForestMap.getDeclaredChildNodes(K key)
获取指定父节点直接关联的子节点
比如:若存在 a -> b -> c 的关系,此时输入 b 将返回 c,输入 a 将返回 b |
Map<K,TreeEntry<K,V>> |
TreeEntry.getDeclaredChildren()
获取当前节点直接关联的子节点
|
Map<K,TreeEntry<K,V>> |
LinkedForestMap.TreeEntryNode.getDeclaredChildren()
获取当前节点直接关联的子节点
|
default Set<TreeEntry<K,V>> |
ForestMap.getTreeNodes(K key)
获取指定节点所在树结构的全部树节点
比如:存在 a -> b -> c 的关系,则输入 a/b/c 都将返回 a, b, c |
Collection<TreeEntry<K,V>> |
LinkedForestMap.values()
返回当前实例中全部
TreeEntry 组成的Collection 集合 |
Modifier and Type | Method and Description |
---|---|
default TreeEntry<K,V> |
ForestMap.put(K key,
TreeEntry<K,V> node)
添加一个节点,效果等同于
putNode(key, node.getValue())
若key对应节点不存在,则以传入的键值创建一个新的节点;
若key对应节点存在,则将该节点的值替换为node 指定的值;
|
TreeEntry<K,V> |
LinkedForestMap.EntryNodeWrapper.setValue(TreeEntry<K,V> value) |
Modifier and Type | Method and Description |
---|---|
void |
TreeEntry.forEachChild(boolean includeSelf,
Consumer<TreeEntry<K,V>> nodeConsumer)
获取以当前节点作为根节点的树结构,然后遍历所有节点
|
void |
LinkedForestMap.TreeEntryNode.forEachChild(boolean includeSelf,
Consumer<TreeEntry<K,V>> nodeConsumer)
获取以当前节点作为根节点的树结构,然后遍历所有节点
|
void |
LinkedForestMap.linkNodes(K parentKey,
K childKey,
BiConsumer<TreeEntry<K,V>,TreeEntry<K,V>> consumer)
为指定的节点建立父子关系,若
parentKey 或childKey 对应节点不存在,则会创建一个对应的值为null的空节点 |
void |
LinkedForestMap.linkNodes(K parentKey,
K childKey,
BiConsumer<TreeEntry<K,V>,TreeEntry<K,V>> consumer)
为指定的节点建立父子关系,若
parentKey 或childKey 对应节点不存在,则会创建一个对应的值为null的空节点 |
void |
ForestMap.linkNodes(K parentKey,
K childKey,
BiConsumer<TreeEntry<K,V>,TreeEntry<K,V>> consumer)
为集合中的指定的节点建立父子关系
|
void |
ForestMap.linkNodes(K parentKey,
K childKey,
BiConsumer<TreeEntry<K,V>,TreeEntry<K,V>> consumer)
为集合中的指定的节点建立父子关系
|
default void |
ForestMap.putAll(Map<? extends K,? extends TreeEntry<K,V>> treeEntryMap)
批量添加节点,若节点具有父节点或者子节点,则一并在当前实例中引入该关系
|
Copyright © 2024. All rights reserved.