阅读量:0
要实现 Java 多级菜单的模糊查询,可以使用递归的方式来遍历菜单结构,然后根据输入的关键词来筛选匹配的菜单项。
以下是一个简单的示例代码,演示了如何实现多级菜单的模糊查询:
import java.util.ArrayList; import java.util.List; class MenuItem { String name; List<MenuItem> children; public MenuItem(String name) { this.name = name; this.children = new ArrayList<>(); } } public class MenuSearch { public static List<MenuItem> searchMenu(MenuItem menu, String keyword) { List<MenuItem> result = new ArrayList<>(); searchMenuRecursive(menu, keyword, result); return result; } private static void searchMenuRecursive(MenuItem menu, String keyword, List<MenuItem> result) { if (menu.name.toLowerCase().contains(keyword.toLowerCase())) { result.add(menu); } for (MenuItem child : menu.children) { searchMenuRecursive(child, keyword, result); } } public static void main(String[] args) { MenuItem menu = new MenuItem("Root"); MenuItem menu1 = new MenuItem("Menu 1"); MenuItem menu2 = new MenuItem("Menu 2"); MenuItem menu3 = new MenuItem("Menu 3"); menu.children.add(menu1); menu.children.add(menu2); menu2.children.add(menu3); List<MenuItem> searchResult = searchMenu(menu, "menu"); for (MenuItem item : searchResult) { System.out.println(item.name); } } }
在上面的示例中,定义了一个 MenuItem
类来表示菜单项,然后使用 searchMenu
方法来实现模糊查询功能。通过递归遍历菜单结构,可以筛选出包含关键词的菜单项并将其添加到结果列表中。
在 main
方法中,创建了一个简单的菜单结构,并调用 searchMenu
方法来搜索包含关键词 “menu” 的菜单项,并输出结果。您可以根据实际需求进行扩展和优化。