递归的定义:在其使用的过程中,函数自己调用自己
看一段简单的代码,遍历文件夹下的文件或指定路径下的文件
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getFiles("传入你的路径");
}
//递归获得文件夹下的文件
public void getFiles(String path) {
File file = new File(path);
File[] files = file.listFiles();
if (files != null) {
for (File f : files) {
if (f.isDirectory()) {
getFiles(f.getAbsolutePath());//自己调用自己
} else {
System.out.println(f);
}
}
}
}
代码很简单,代码也比较简洁、可读性好;但是需要注意:使用递归的缺点是:执行效率比较低、递归由于需要系统堆栈,所以空间消耗 要比非递归的大,如果递归的深度很大的时候,不建议使用。对于开发人员来讲,TMD除了代码简洁、可读性好点,递归完全没有什么diao用 ,不要着急,大家看看在我的下一篇博客中看一看迭代的讲解,可能会有所帮助。