gpt4 book ai didi

java - 如何使用Java中的Loop提高递归方法的性能

转载 作者:行者123 更新时间:2023-12-01 21:56:38 25 4
gpt4 key购买 nike

我尝试在递归操作中使用内存模式,但出了问题。

下面是我的方法。

private Map<String, MyDTO> map = new ConcurrentHashMap<>();

private void searchRecursive(String uuid) {
if (!map.containsKey(uuid)) {
MyDTO obj = myClient.getMyObject(uuid);

if("one".equals(obj.getType()) || "two".equals(obj.getType())){
if(Objects.nonNull(obj.getChildren())){
obj.getChildren().forEach(child -> searchRecursive(child.getId()));
}
} else if("three".equals(obj.getType())) {
map.put(uuid, obj);
}
}
}

我想提高此操作的性能!

非常感谢您的帮助!

最佳答案

我认为正如@John3136所说,getType()、getChildren()调用多次,最好创建一个引用并减少这些方法的调用时间。

我猜你要搜索的对象就像一个图或树,所以我认为你可以尝试使用 BFS 方法(类似队列的数据结构)转换为迭代子对象,那会更好。

关于java - 如何使用Java中的Loop提高递归方法的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58738976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com