java递归如何退出_递归删除数组某个元素

java递归如何退出_递归删除数组某个元素###Java递归删除文件publicstaticvoidmain(String[]args){Filefile=newFile(“D:\\dir”);recursiveDelete(file);}###recursiveDelete方法privatestaticvoidrecursiveDelete(Filefile){if(file.isDirectory())…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

###Java递归删除文件

public static void main(String[] args) {

File file = new File(“D:\\dir”);

recursiveDelete(file);

}

###recursiveDelete方法

private static void recursiveDelete(File file) {

if (file.isDirectory()) {

File[] list = file.listFiles();

for (File f : list) {

recursiveDelete(f);

}

// 删除完文件夹内的文件后删除自身

file.delete();

} else {

file.delete();

}

}

###=================================================================== ###同理,递归删除数据库里的商品目录

public int deleteGoodsCategory(Long goodsCategoryId) {

return recursive(goodsCategoryId);

}

private int recursive(Long goodsCategoryId) {

int r = 0;//此统计结果不准确

if (hasSubCategory(goodsCategoryId)) {

//删除子类目

List list = goodsCategoryDao.selectSubGoodsCategory(goodsCategoryId);

for (GoodsCategory g : list) {

recursive(g.getId());

}

goodsCategoryDao.deleteByPrimaryKey(goodsCategoryId);//删除完子类目后删除自身

r++;

} else {

goodsCategoryDao.deleteByPrimaryKey(goodsCategoryId);

r++;

}

return r;

}

public boolean hasSubCategory(Long goodsCategoryId) {

return goodsCategoryDao.hasSubCategory(goodsCategoryId) > 0;

}

###goodsCategoryDao

int deleteByPrimaryKey(Long id);

//delete from xy_goods_category where id = #{id}

int hasSubCategory(Long goodsCategoryId);

// select count(1) from xy_goods_category where parent_id = #{goodsCategoryId}

/**

* 某个目录的子目录列表

*/

List selectSubGoodsCategory(Long goodsCategoryId);

// select * from xy_goods_category where parent_id = #{goodsCategoryId}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192092.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 查看Linux内核版本_ubuntu升级内核命令

    查看Linux内核版本_ubuntu升级内核命令想知道您的系统使用哪个Linux内核版本吗?以下是在Linux终端中检查内核版本的几种方法。当您需要了解系统上正在使用的确切Linux内核版本时,您可能会遇到这种情况。借助功能强大的Linux命令行,您可以轻松地找到答案。如何找到Linux内核版本在撰写本文时,我正在使用Ubuntu18.04。但是这些命令是通用的,可以在Fedora,Debian,CentOS,SUSELin…

    2022年10月13日
    3
  • MySQL数据库每日备份并定时清理脚本

    MySQL数据库每日备份并定时清理脚本

    2021年6月3日
    109
  • tomcat漏洞如何修复_tomcat升级步骤

    tomcat漏洞如何修复_tomcat升级步骤tomcat 安全漏洞处理,线上升级tomcat

    2022年4月20日
    164
  • makefile文件编写「建议收藏」

    makefile文件编写「建议收藏」makefile文件用于管理和组织代码工程的编译和链接,其不是可执行文件,其被make工具解析并完成相关动作,下面笔者将介绍makefile中常用的一些语法说明:1、文件包含:语法:include文件名作用:将其它makefile文件包含进来,组成一个更大的makefile文件,这样有利于makefile模块化编程。通常我们将一些配置选项分开成一个独立的makefile文件,这…

    2022年6月7日
    62
  • Linux下性能监控工具介绍

    Linux下性能监控工具介绍

    2021年8月13日
    56
  • [渝粤教育] 西安工业大学 汉语文字学 参考 资料[通俗易懂]

    教育-汉语文字学-章节资料考试资料-西安工业大学【】请简要说明黄帝时期与半坡遗址之间的关系。第一章汉字的起源章测试题1、【多选题】请选从下列选项中找出“八卦”的用途()A、卜筮B、族徽C、计数D、装饰参考资料【】2、【多选题】请找出《周礼》中有关史官系统的名称()A、大史B、小史C、内史D、外史参考资料【】3、【多选题】请从下面选项中选出黄帝时期的特点。()A、战争B、纺织C、宫室D、穴居参考资料【】4、【判断题】文

    2022年4月7日
    115

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号