Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 如何优雅地将RDBMS自下而上的层次结构转换为OO自上而下的层次结构?_Algorithm_Recursion_Map - Fatal编程技术网

Algorithm 如何优雅地将RDBMS自下而上的层次结构转换为OO自上而下的层次结构?

Algorithm 如何优雅地将RDBMS自下而上的层次结构转换为OO自上而下的层次结构?,algorithm,recursion,map,Algorithm,Recursion,Map,在我的RDBM中,我将类似文件夹的结构建模为一个引用自身的表: table Folder { Name : String Parent : Reference(Folder) } 在我的UI代码中,我需要将其引入此类对象结构中: class Node(String name) { String name; List<Node> children; } 什么是最可读、性能最好、最稳定的。。。如何将数据库结果转换为代码结构 List<Folder>

在我的RDBM中,我将类似文件夹的结构建模为一个引用自身的表:

table Folder {
   Name : String
   Parent : Reference(Folder)
}
在我的UI代码中,我需要将其引入此类对象结构中:

class Node(String name) {
   String name;
   List<Node> children;
}
什么是最可读、性能最好、最稳定的。。。如何将数据库结果转换为代码结构

List<Folder> bottomUpFromDb = [SELECT Name, Parent FROM Folder];
List<Node> topDown = convert(bottomUpFromDb);
您将如何实现convertList数据库行?我玩了一会儿映射和递归函数,但我被卡住了