访问者模式对树进行递归查找


fun <T, ID> CrudRepository<T, ID>.visit(start: ID?, visitor: (T) -> Boolean) where T: TreeNode<ID> {
    var currentId = start
    do {
        val node = findByIdOrNull(currentId!!)
        if (node != null) {
            if (!visitor(node)) {
                break
            }
        }
        currentId = node?.getParentId()
    } while (node != null && !node.isRoot())
}


posted @   Acaak  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示