「java菜单树递归」java递归树结构

博主:adminadmin 2023-03-19 11:21:08 386

本篇文章给大家谈谈java菜单树递归,以及java递归树结构对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java根据数据库生成菜单(递归)

不需要递归用一个特殊字符的算法来处理

比如

基本信息 1000

酒店管理 10001000

服务商管理 10002000

产品信息 2000

导游管理 20001000

物品管理 20002000

java递归遍历某个菜单下的菜单树

不太清楚你这个Menu是哪来的类,不过如果上文你的程序能执行的话,说明menu.getChilds()是个集合,应该带有size()的函数。你可以取出menu.getChilds()的大小,再从头到尾遍历它。

int count=menu.getChilds().size();

for(int i=0;icount;i++)

{

showMenu( ((Menu)menu.getChilds().get(i)) , 0 );

//我估计这些children是个list,可以顺序遍历;但也有

//部分可能是set,那样就得用iterator了。

}

Java递归如何正确输出树形菜单

首先我们要建立树节点的类:

[java] view plain copy

package com.tree;

public class Node {

private Integer id;

private Integer parentId;

private String name;

private String link;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public Integer getParentId() {

return parentId;

}

public void setParentId(Integer parentId) {

this.parentId = parentId;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getLink() {

return link;

}

public void setLink(String link) {

this.link = link;

}

}

输出树形菜单类:

[java] view plain copy

package com.tree;

import java.util.ArrayList;

import java.util.List;

public class Tree {

private StringBuffer html = new StringBuffer();

private ListNode nodes;

public Tree(ListNode nodes){

this.nodes = nodes;

}

public String buildTree(){

html.append("ul");

for (Node node : nodes) {

Integer id = node.getId();

if (node.getParentId() == ) {

html.append("\r\nli id='" + id + "'" + node.getName()+ "/li");

build(node);

}

}

html.append("\r\n/ul");

return html.toString();

}

private void build(Node node){

ListNode children = getChildren(node);

if (!children.isEmpty()) {

html.append("\r\nul");

for (Node child : children) {

Integer id = child.getId();

html.append("\r\nli id='" + id + "'" + child.getName()+ "/li");

build(child);

}

html.append("\r\n/ul");

}

}

private ListNode getChildren(Node node){

ListNode children = new ArrayListNode();

Integer id = node.getId();

for (Node child : nodes) {

if (id.equals(child.getParentId())) {

children.add(child);

}

}

return children;

}

}

java菜单树递归的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java递归树结构、java菜单树递归的信息别忘了在本站进行查找喔。