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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JQuery学习—JQuery-Validation 使用

    JQuery 的学习之 JQuery—Validate验证功能

    2022年2月24日
    60
  • 云计算与边缘计算协同 九大应用场景

    云计算与边缘计算协同 九大应用场景来源:物联网报告中心前言2019年边缘计算备受产业关注,一度引起了资本市场的投资热潮,很多人把2019年称作边缘计算的元年。理性来看,造成如此火爆局势难免有…

    2022年6月22日
    40
  • Java|JavaScript 模拟钓鱼网站实例一[通俗易懂]

    Java|JavaScript 模拟钓鱼网站实例一[通俗易懂]本次只是用最简单的方法模拟钓鱼网站。前端的代码是从网上下载的,我只是做了稍微的修改。整个项目的源码如下(2018年2月10日在审核估计2月11后可以下载):http://download.csdn.net/download/qq78442761/10247969最后的效果是如下图:输入用户名和密码后,会提醒服务器繁忙然后,我们登录到另外一个页面进行查看:这里涉及如下技术:1.修改网上下载的html…

    2022年8月24日
    6
  • python nonlocal 什么意思_python nonlocal的理解使用

    python nonlocal 什么意思_python nonlocal的理解使用nonlocal 可以将一个变量声明为非本地变量 在 python 的 lru cache 看到了使用 defdecorator func a 1defwrapper args kwargs nonlocalaa 1returnfunc returnwrappe 实例中 当 a 变量是不可变类型时 因为包装函数引用了 a 装饰器执行结束 在包装函数里改变 a 的值 需要

    2025年9月4日
    2
  • 分析哲学_怎样查看bugreport

    分析哲学_怎样查看bugreportGetLogfromAndroidSystemadbbugreport>bugreport.txtcopybugreporttothecurrentdirectory.b

    2022年8月1日
    5
  • amd电脑安装Android失败,AMD显卡驱动安装失败

    amd电脑安装Android失败,AMD显卡驱动安装失败是WIN7的操作系统吧,必须要取得管理员权限。方法如下:1.右键单击“计算机”,进入“管理”找到“用户和组”2.找到administrators,右键调出属性,把“该账户已禁用”前面的勾去掉。回桌面3.新建“记事本”,copy如下内容:WindowsRegistryEditorVersion5.00[HKEY_CLASSES_ROOT\*\shell\runas]@=”管理员取得所有权”…

    2022年5月6日
    58

发表回复

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

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