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)
上一篇 2026年1月19日 下午1:22
下一篇 2026年1月19日 下午2:01


相关推荐

  • java常用类之Calendar类[通俗易懂]

    java常用类之Calendar类[通俗易懂]java常用类之Calendar类Calendar类提供了获取或者设置各种日历的字段的方法。构造方法protectedCalendar():由于修饰符是prodected;所以无法直接创建该对象其他方法方法名说明staticCalendargetInstance()使用默认时区或区域获取日历voidset(intyear,intmonth,intdate,inthourofday,intminute,intsecond)设置日历的时分秒

    2025年12月2日
    4
  • docker容器启动参数[通俗易懂]

    dockerrun[option]镜像名[向启动容器中传入的命令]常用可选参数说明:-i表示以“交互模式”运行容器-t表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。–name为创建的容器命名-v表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即宿主机目录:容器中目录),可以使用多个-v做…

    2022年4月14日
    423
  • 以太坊矿机组装教程_eth矿机组装

    以太坊矿机组装教程_eth矿机组装以太坊挖矿矿机组装指南伴随着比特币的热潮,“矿机”一词出现在了大众的视野中。那么何为“矿机”呢?一个矿机的本质就是一个电脑机箱,它的硬件组成与普通的台式机箱几乎相同。有区别的是它的主板上PCIE插槽比较多,电源的功率比较大。在这里简单解释下为什么会有这两点不同:1.PCIE插槽越多可连接的显卡就越多,单个矿机的算力就越大。2.电源功率越大能带动的显卡越多。所以大家在选择配置时一定要根据你的显卡…

    2022年9月30日
    6
  • 刷屏!第一批吃Manus红利的人已出现,二手平台有人开始兜售课程

    刷屏!第一批吃Manus红利的人已出现,二手平台有人开始兜售课程

    2026年3月15日
    1
  • 浏览器 全屏快捷键

    浏览器 全屏快捷键F11

    2026年3月17日
    2
  • LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释

    LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释1、扩频因子(SF)2、编码率(CR)3、信号带宽(BW)4、LoRa信号带宽BW、符号速率Rs和数据速率DR的关系5、LoRa信号带宽、扩频因子和编码率的设定6、空中速率针对特定应用,开发人员可通过调制扩频因子、调制带宽、纠错编码率这三个关键设计参数,对LoRa调制解调技术进行优化。。…

    2022年10月10日
    5

发表回复

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

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