用Java写一个查询一个用户所有下级且分级显示的代码
时间: 2023-05-27 08:06:46 浏览: 117
以下是一个简单的Java代码示例,用于查询一个用户的所有下级并按层级显示:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class UserHierarchy {
private Map<String, List<String>> hierarchyMap = new HashMap<>();
public void addUser(String parent, String child) {
List<String> children = hierarchyMap.getOrDefault(parent, new ArrayList<>());
children.add(child);
hierarchyMap.put(parent, children);
}
public void printHierarchy(String user, int level) {
List<String> children = hierarchyMap.get(user);
if (children == null || children.isEmpty()) {
return;
}
for (String child : children) {
System.out.println(" ".repeat(level) + child);
printHierarchy(child, level + 1);
}
}
public static void main(String[] args) {
UserHierarchy hierarchy = new UserHierarchy();
hierarchy.addUser("Alice", "Bob");
hierarchy.addUser("Alice", "Charlie");
hierarchy.addUser("Bob", "Dave");
hierarchy.addUser("Bob", "Eve");
hierarchy.printHierarchy("Alice", 0);
}
}
```
输出结果如下:
```
Bob
Dave
Eve
Charlie
```
在上面的示例中,我们使用`Map`来存储用户之间的层级关系。`addUser`方法用于添加一个用户的下级关系。`printHierarchy`方法用于递归地打印一个用户的所有下级,并根据层级进行缩进。在`main`方法中,我们添加了一些示例用户,并调用`printHierarchy`方法来打印Alice的所有下级。
阅读全文