直接贴出serviceimpl的代码
package com.test.admin.service.impl;
import com.test.admin.dao.MenuDAO;
import com.test.admin.pojo.Menu;
import com.test.admin.service.MenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class MenuServiceImpl implements MenuService {
@Autowired
private MenuDAO menuDAO;
@Override
public List<Menu> getMenuTree() {
List<Menu> menuList = menuDAO.getAllMenu();
List<Menu> firstMenu = new ArrayList<>();
Map<Integer, Menu> menuMap = new HashMap<>();
for (Menu menu : menuList) {
if (menu.getParentId() == null) {
firstMenu.add(menu);
}
menuMap.put(menu.getId(), menu);
}
for (Menu menu : menuList) {
if (menu.getParentId() != null) {
menuMap.get(menu.getParentId()).getChildren().add(menu);
}
}
return firstMenu;
}
}
利用hashmap操作的是同一块内存空间