gpt4 book ai didi

java - 如何创建一个采用 List 类型且输出是不同 List 的递归方法?

转载 作者:行者123 更新时间:2023-12-02 01:41:48 25 4
gpt4 key购买 nike

我正在尝试创建一个递归方法,它接受 IntegerList 并返回一个新的 List,其中仅包含正数原始列表

这就是我所做的

static List<Integer> positives(List<Integer> a) {
if (a.getTail().isEmpty())
return new List<Integer>(a.getHead(), new List<Integer>());

if (a.getHead() - a.getHead() == 0)
new List<Integer>(a.getHead(), new List<Integer>());
return positives(a.getTail());

else
return positives(a.getTail());

因此,当List的头部为正时,应该将其添加到新列表中,然后该方法循环。如果 head 不是正的,它就会循环。当到达 List 末尾时,它应该返回包含正数的列表。

我可以看出,使用当前的代码,isEmpty() 语句返回一个与肯定检查语句完全不同的列表,这就是我出错的地方。因此,当循环到达 List

末尾时,我无法弄清楚如何从第二个 if 语句返回列表

最佳答案

虽然不是递归,但最短的方法是使用流

List<Integer> posList = a.stream().filter(x -> x > 0).collect(Collectors.toList());

关于java - 如何创建一个采用 List 类型且输出是不同 List 的递归方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54380406/

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