java:递归算法
JAVA中的递归是只一个方法在(满足条件时(或不满足条件时【这里的判断根据业务的实际需求写】))自己调用自己的方法名,要求参数和方法名一致,
然后根据判断跳出该方法,返回相应的返回值!
实例:
我们要展示所有的商品分类且无限阶级(表字段:id编号,parentId(父级编码))
我们根据parentId(最顶级的父级编码【在数据库初始化时自定义】)做查询
定义Category是分类的类
采用Set集合去重泛型为Category
Set<Category> setCategory= Sets.newHashSet();
recursionMethond(setCategory,parentId);
递归算法
public Set<Category> recursionMethond(Set<Category> setCategory,String parentId){
根据id获取
Category category = categoryMapper.selectByPrimaryKey(Integer.parseInt(parentId));
if(category != null){
setCategory.add(category);
}
根据parentId获取
List<Category> list=categoryMapper.selectLevelingCategor(parentId);
for(Category categorys :list){
recursionMethond(setCategory,String.valueOf(categorys.getId()));
}
return setCategory;
}
java:递归算法的更多相关文章
- Java
递归算法
其基本思路是递归算法设计:对于一个复杂的问题,原问题分为几个子问题相似相对简单.继续下去,直到孩子可以简单地解决问题,这是导出复发,因此,有复发的原始问题已经解决. 关键是要抓住: (1)递归出口 ( ...
- java递归算法提前返回值带出
/** * */ package testJava.java.foreach; import java.util.ArrayList; import java.util.LinkedList; imp ...
- Java递归算法——三角数字(消除递归)
import java.io.*; // for I/O //类名:Params //属性: //方法: class Params //这个类的对象被压入栈中 { public int n; //用来 ...
- 转: JAVA递归算法实例小结
一.递归算法设计的基本思想是: 对于一个复杂的问题,把原问题分解为若干个相对简单类同的子问题,继续下去直到子问题简单到能够直接求解,也就是说到了递推的出口,这样原问题就有递推得解. 在做递归算法的时候 ...
- Java递归算法——二分查找
import java.lang.reflect.Array; import java.nio.Buffer; import java.util.Arrays; import java.util.Ra ...
- Java递归算法——变位字
轮换的含义 1.c ats --> 2.ca st 3.c tsa --> 4.ct as 5.c sat --> 6.cs ta 7. atsc import java.io.Bu ...
- Java递归算法——阶乘
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...
- Java递归算法——三角数字
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...
- JAVA递归算法
1.什么是递归算法 递归算法就是直接或间接调用自己的算法 2.问题1:一列数的规则如下: 1.1.2.3.5.8.13.21.34 ,求第30位数是多少?使用递归实现 public class Fib ...
- Java 递归算法,遍历文件夹下的所有文件。
用递归算法遍历文件下的所有子文件夹和子文件 文件夹遍历方法 public void getFileList(String strPath){ File f=new File(strPath); try ...
随机推荐
- LAS文件转TXT文件
LAS文件转TXT文件 https://www.liblas.org/start.html
- PAT Perfect Sequence (25)
题目描写叙述 Given a sequence of positive integers and another positive integer p. The sequence is said to ...
- C#替换字符串起始/结尾指定的字符串
#region 替换字符串起始位置(开头)中指定的字符串 /// <summary> /// 替换字符串起始位置(开头)中指定的字符串 /// </summary> /// & ...
- IOS 动态库问答
- hdoj--1068--Girls and Boys(最大独立集)
Girls and Boys Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- [.Net] C#开发微信门户及应用之微信菜单的多种表现方式介绍
URL:http://www.it165.net/pro/html/201405/13997.html 在前面一系列文章中,我们可以看到微信自定义菜单的重要性,可以说微信公众号账号中,菜单是用户的第一 ...
- CharSequence源码分析
CharSequence是一个接口,表示一个char值的可读序列,此接口为多种char序列提供统一的.只读的通道.既然是接口,就不能通过new来进行赋值,只能通过以下方式赋值: CharSequenc ...
- hiho一下第76周《Suzhou Adventure》
我是菜鸡,我是菜鸡,我是菜鸡....重要的事说三遍 算是第一次做树形dp的题吧,不太难.. 园林构成一棵树,root为1,Hi从root出发,有k个园林必须玩,每个园林游玩后会得到权值w[i],最多玩 ...
- iOS开发中UIDatePicker控件的使用方法简介
iOS上的选择时间日期的控件是这样的,左边是时间和日期混合,右边是单纯的日期模式. 您可以选择自己需要的模式,Time, Date,Date and Time , Count Down Timer四 ...
- 代理模式(Proxy)C++实现
代理模式 尽管Decorator的实现部分与代理相似,但Decorator的目的不一样.Decorator为对象添加一个或多个功能,而代理则控制对对象的访问. 意图: 为其他对象提供一种代理以控制对这 ...