gpt4 book ai didi

Java多级菜单结构

转载 作者:行者123 更新时间:2023-11-29 09:20:01 27 4
gpt4 key购买 nike

我正在用 Java (Tapestry 5) 构建一个 Web 应用程序。我想创建一个多级菜单,我可以在其中显示根元素,例如在我的页面顶部和左侧所选元素的子元素。

为了实现这一点,我想使用这样的树结构:

public class SiteMap {

private List<MenuItem> root;

public class MenuItem {

private String pageFileName;
private String pageNavigationName;

private List<MenuItem> children;
private MenuItem parent;

public MenuItem(String pageFileName, String pageNavigationName, MenuItem parent) {
this.pageFileName = pageFileName;
this.pageNavigationName = pageNavigationName;
this.parent = parent;
}

public String getPageFileName() {
return pageFileName;
}

public String getPageNavigationName() {
return pageNavigationName;
}

public List<MenuItem> getChildren() {
return children;
}

public MenuItem getParent() {
return this.parent;
}
}
}

现在,如果我想基于树中某处的 1 个父项(只有 pageFileName - 字符串)的子项构建菜单怎么办。我将不得不递归遍历树以根据 pageFileName (String) 找到此父项,这似乎不是一个好方法。

这是(使用树结构)实现它的正确方法吗?或者有更好的选择吗?感谢任何想法和提示!

提前致谢!

内森

最佳答案

MenuItem root = null;
MenuItem curr = myMenuItem;
while(curr.getParent() != null) {
curr = curr.getParent();
}
root = curr;

这样做没有错,该代码将运行得非常快,尤其是因为您不会有数百万个菜单条目。

关于Java多级菜单结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7106512/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com