当前位置: 首页 > news >正文

一般设计网站页面用什么软件查排名网站

一般设计网站页面用什么软件,查排名网站,湖南长沙门户网站,福州建站模板搭建可能平常会遇到一些需求,比如构建菜单,构建树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来,然后通过流式处理,我们一起来看看…

可能平常会遇到一些需求,比如构建菜单,构建树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来,然后通过流式处理,我们一起来看看,代码实现为了实现简单,就模拟查看数据库所有数据到List里面。

实体类:Menu.java

/**
 * Menu
 *
 * @author lcry
 * @date 2020/06/01 20:36
 */
@Data
@Builder
public class Menu {
    /**
     * id
     */
    public Integer id;
    /**
     * 名称
     */
    public String name;
    /**
     * 父id ,根节点为0
     */
    public Integer parentId;
    /**
     * 子节点信息
     */
    public List<Menu> childList;


    public Menu(Integer id, String name, Integer parentId) {
        this.id = id;
        this.name = name;
        this.parentId = parentId;
    }

    public Menu(Integer id, String name, Integer parentId, List<Menu> childList) {
        this.id = id;
        this.name = name;
        this.parentId = parentId;
        this.childList = childList;
    }
    
}

递归组装树形结构:

    @Test
    public void testtree(){
        //模拟从数据库查询出来
        List<Menu> menus = Arrays.asList(
                new Menu(1,"根节点",0),
                new Menu(2,"子节点1",1),
                new Menu(3,"子节点1.1",2),
                new Menu(4,"子节点1.2",2),
                new Menu(5,"根节点1.3",2),
                new Menu(6,"根节点2",1),
                new Menu(7,"根节点2.1",6),
                new Menu(8,"根节点2.2",6),
                new Menu(9,"根节点2.2.1",7),
                new Menu(10,"根节点2.2.2",7),
                new Menu(11,"根节点3",1),
                new Menu(12,"根节点3.1",11)
        );

        //获取父节点
        List<Menu> collect = menus.stream().filter(m -> m.getParentId() == 0).map(
                (m) -> {
                    m.setChildList(getChildrens(m, menus));
                    return m;
                }
        ).collect(Collectors.toList());
        System.out.println("-------转json输出结果-------");
        System.out.println(JSON.toJSON(collect));
    }

    /**
     * 递归查询子节点
     * @param root  根节点
     * @param all   所有节点
     * @return 根节点信息
     */
    private List<Menu> getChildrens(Menu root, List<Menu> all) {
        List<Menu> children = all.stream().filter(m -> {
            return Objects.equals(m.getParentId(), root.getId());
        }).map(
                (m) -> {
                    m.setChildList(getChildrens(m, all));
                    return m;
                }
        ).collect(Collectors.toList());
        return children;
    }

http://www.ritt.cn/news/22733.html

相关文章:

  • 建立企业网站的好处网络营销未来有哪些发展趋势
  • c语言哪个网站可以做测试题百度app浏览器下载
  • 制作网站电话百度手机软件应用中心
  • 中国建设银行潍坊市分行官方网站域名服务器查询
  • ckplayer怎么上传做网站洛阳市网站建设
  • 网站建设测试事业运程网络软文怎么写
  • 浅谈wordpress接入熊掌号长沙正规竞价优化服务
  • 嘉祥网站建设多少钱学seo需要多久
  • 一个网站的建设要经过哪几个阶段今日新闻头条内容
  • wordpress调试seo优化服务价格
  • 客户网站回访陕西网站seo
  • 舟山网站建设优化今日实时热搜
  • 昆山网站建设 技术支持 力得网络网络营销策划创意案例点评
  • 个人域名备案要求网站seo优化外包
  • 滴滴出行的网站是哪家公司做的线上推广方案模板
  • 网站开发wbs案例建网站需要什么条件
  • 微信微网站是什么微信加精准客源软件
  • 怎么自己做网站怎么赚钱优化seo深圳
  • 瓷砖网站建设网站优化推广外包
  • 网站后台安全今日军事新闻
  • 做网站烧钱西安今日头条新闻消息
  • 创意视觉网站百度seo优化系统
  • 网络服务商主要包括什么哈尔滨seo优化公司
  • 市民服务中心网站建设2345网址导航下载
  • 郑州腾讯网站建设网站关键词排名优化推广软件
  • c 网站建设报告网站内容编辑
  • 12306网站制作长沙电商优化
  • 大连网站推广排名semantic
  • 旅游网站开发的重要性上海百度关键词推广
  • 招标网下载推广关键词优化