删除集合转 Map 的工具方法,使用流即可。

This commit is contained in:
2024-03-02 23:25:23 +08:00
parent e5c2ba99c3
commit fe190d8f43
2 changed files with 2 additions and 127 deletions

View File

@@ -8,8 +8,6 @@ import java.util.function.BiConsumer;
import java.util.function.Function;
import java.util.stream.Collectors;
import xyz.zhouxy.plusone.commons.collection.CollectionTools;
public class TreeBuilder<T, TSubTree extends T, TIdentity> {
private final Function<T, TIdentity> identityGetter;
private final Function<T, Optional<TIdentity>> parentIdentityGetter;
@@ -23,7 +21,8 @@ public class TreeBuilder<T, TSubTree extends T, TIdentity> {
}
public List<T> buildTree(Collection<T> nodes) {
Map<TIdentity, T> identityNodeMap = CollectionTools.toHashMap(nodes, identityGetter);
Map<TIdentity, T> identityNodeMap = nodes.stream()
.collect(Collectors.toMap(identityGetter, Function.identity(), (n1, n2) -> n1));
List<T> result = nodes.stream()
.filter(node -> !this.parentIdentityGetter.apply(node).isPresent())
.collect(Collectors.toList());