「java替代递归」递归JAVA

博主:adminadmin 2022-12-27 07:15:06 69

今天给各位分享java替代递归的知识,其中也会对递归JAVA进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA如何用循环代替递归,希望能有可能运行的代码,谢谢

这个得分情况呀,你这样说不太好判断。

循环一般都是知道次数的做法。

而递归一般是只知道终止条件,却不知道次数时的作法。

而助你也没贴上代码。

java 递归替换复杂对象属性值

本示例中又三个对象嵌套:

UserBO:复杂对象,其中一个属性是ListAddressBO或者MapAddressBO

AddressBO:其中一个属性是SubAddressBO

SubAddressBO:包含目标属性addrId,且是string类型,查找addrId的值

任务:UserBO是一个复杂对象,该对象中肯定存在目标属性addrId(String类型,递归方法只能找string类型的属性,找其他类型自行修改代码),只是不知道addrId在哪个子属性中,如果UserBO存在多个addrId属性,那么只遍历出遇到的第一个addrId的值即可。

注意:(本例子在遍历复杂对象时,如果找到第一个目标属性,则退出,不在继续遍历,后面bolg有遍历复杂对象所有属性的文章)

1、本示例提供了两种方法来获取复杂对象中指定属性的值,一种是利用递归,另一种是直接把复杂对象转换成json串,再截取。

  2、本示例对于复杂对象中不包含目标属性时,会返回空字符串。

  3、目标属性可以存在于自定义类、list、map、数组中

  4、复杂对象可以是复杂嵌套的BO/ListBO/MapObject,BO,目标属性存在于BO中

  5、对于复杂对象是这种嵌套格式(ListListBO/ListMapObject,BO/MapObject,ListBO)的没有做测试

————————————————

版权声明:本文为CSDN博主「一路奔跑1314」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

求大神帮忙写个下面递归算法的替代算法

import java.io.File;

import java.util.ArrayList;

public class ListFile {

//递归

public static void processFilePath(String sourceDir) {

  File file = new File(sourceDir);

  if (file.isDirectory()) {   

    for (File each : file.listFiles()) {

     processFilePath(each.getAbsolutePath());

    }    

  } else if (file.getAbsolutePath().endsWith(".java")) {

       System.out.println(file.getAbsolutePath());

  } 

}

//非递归

public static void processFilePathEx(String sourceDir) {

  ArrayListFile list = new ArrayListFile();

  list.add(new File(sourceDir));

  while(!list.isEmpty())

  {

  File file = list.remove(0);

  if (file.isDirectory()) {   

    for (File each : file.listFiles()) {

     list.add(each);

    }    

  } else if (file.getAbsolutePath().endsWith(".java")) {

       System.out.println(file.getAbsolutePath());

  } 

  }   

}

    public static void main(String[] args) {  

     String dir = "F:\\workspace\\java";

     processFilePath(dir);

     processFilePathEx(dir);

    } 

}

java替代递归的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于递归JAVA、java替代递归的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。