用java实现一个获取三级分类的简单代码
时间: 2023-11-27 15:49:46 浏览: 33
以下是一个简单的 Java 代码示例,用于获取三级分类:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ThreeLevelCategory {
public static void main(String[] args) {
// 创建一个三级分类的 Map
Map<String, Map<String, List<String>>> categoryMap = new HashMap<>();
// 添加一些数据
addCategory(categoryMap, "手机", "苹果", "iPhone 12");
addCategory(categoryMap, "手机", "小米", "小米10");
addCategory(categoryMap, "电视", "小米", "小米电视4A");
addCategory(categoryMap, "电脑", "华为", "华为MateBook X");
addCategory(categoryMap, "电脑", "苹果", "MacBook Pro");
// 获取所有三级分类
List<String> threeLevelCategoryList = getThreeLevelCategoryList(categoryMap);
// 输出结果
System.out.println(threeLevelCategoryList);
}
/**
* 添加一个三级分类
*
* @param categoryMap 三级分类的 Map
* @param level1 一级分类
* @param level2 二级分类
* @param level3 三级分类
*/
public static void addCategory(Map<String, Map<String, List<String>>> categoryMap, String level1, String level2, String level3) {
if (!categoryMap.containsKey(level1)) {
categoryMap.put(level1, new HashMap<>());
}
Map<String, List<String>> level2Map = categoryMap.get(level1);
if (!level2Map.containsKey(level2)) {
level2Map.put(level2, new ArrayList<>());
}
List<String> level3List = level2Map.get(level2);
level3List.add(level3);
}
/**
* 获取所有三级分类
*
* @param categoryMap 三级分类的 Map
* @return 所有三级分类的列表
*/
public static List<String> getThreeLevelCategoryList(Map<String, Map<String, List<String>>> categoryMap) {
List<String> threeLevelCategoryList = new ArrayList<>();
for (Map.Entry<String, Map<String, List<String>>> entry1 : categoryMap.entrySet()) {
String level1 = entry1.getKey();
Map<String, List<String>> level2Map = entry1.getValue();
for (Map.Entry<String, List<String>> entry2 : level2Map.entrySet()) {
String level2 = entry2.getKey();
List<String> level3List = entry2.getValue();
for (String level3 : level3List) {
String threeLevelCategory = level1 + "/" + level2 + "/" + level3;
threeLevelCategoryList.add(threeLevelCategory);
}
}
}
return threeLevelCategoryList;
}
}
```
该示例中,我们使用了一个 `Map` 来存储三级分类的信息,其中一级分类作为 `Map` 的键,对应一个存储二级分类和三级分类的 `Map`,而二级分类作为内层 `Map` 的键,对应一个存储三级分类的列表。我们可以使用 `addCategory` 方法向 `Map` 中添加分类信息,使用 `getThreeLevelCategoryList` 方法获取所有三级分类,然后将其输出。