php代码转java8代码: 递归获取所有的子节点含起始节点 function getChild$data$id $pk = id $fPk = fid$arr = foreach$data as $v if$v$pk == $id $arr = $v; if$v$fPk == $id $a
以下是将该PHP代码转换为Java 8代码的示例:
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class Main {
public static List<Map<String, Object>> getChild(List<Map<String, Object>> data, Object id, String pk, String fPk) {
List<Map<String, Object>> arr = new ArrayList<>();
data.stream()
.filter(v -> v.get(pk).equals(id))
.forEach(arr::add);
data.stream()
.filter(v -> v.get(fPk).equals(id))
.forEach(v -> arr.addAll(getChild(data, v.get(pk), pk, fPk)));
return arr;
}
public static void main(String[] args) {
// 测试示例
List<Map<String, Object>> data = new ArrayList<>();
// 添加数据到data列表
List<Map<String, Object>> result = getChild(data, 1, "id", "fid");
System.out.println(result);
}
}
请注意,此示例假设输入的data列表中的每个元素都是Map<String, Object>类型。您可能需要根据实际情况进行调整。
原文地址: https://www.cveoy.top/t/topic/jdpw 著作权归作者所有。请勿转载和采集!