java - 如何制作一个递归方法,它采用 List 类型,其中输出是不同的 List?
问题描述
我正在尝试制作一个递归方法,它采用 a并返回一个新List
的,只有原始的正数。Integer
List
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
为正时,它应该将其添加到一个新列表中,然后方法循环。如果头部不是积极的,它只是循环。当到达末尾时List
,它应该返回包含正数的列表。
我现在可以用我的代码告诉我,该isEmpty()
语句返回一个与肯定检查语句完全不同的列表,这是我出错的地方。所以我不知道当循环到达末尾时如何从第二个 if 语句返回列表List
解决方案
尽管不是递归的,但最短的方法是使用流
List<Integer> posList = a.stream().filter(x -> x > 0).collect(Collectors.toList());
推荐阅读
- image-processing - 关于 Unet 分段架构中的下采样
- php - MySQL 字符集和 PHP
- javascript - 打开按钮时停止图像移动
- mean.io - 我是否缺少 MEAN.io 的依赖项?
- c# - 使用 System.Linq.Dynamic.Core 查询具有成员字典的对象列表时无法获得多个结果
- python - python将文件从macos文件系统移动到共享windows服务器
- java - 如何防止 Spring Tool Suite 在每次编译时在控制台中添加额外的数据/详细信息
- php - 不同页面的不同标志
- highcharts - 需要帮助在 Jupyter-Notebook 中创建高图直方图
- java - 没有可用的名为“aboutus”的 bean,NoSuchBeanDefinitionException