(10)组合模式

概念

组合模式依据树形结构来组合对象,用来表示部分以及整体层次。组合模式说白了就是一个树形结构。如某商城的商品分类,如省市区等结构,这些都是树形结构,都属于组合模式。

实现方式

import java.util.ArrayList;
import java.util.List;

/**
 * 组合
 */
public class Demo {
    public static void main(String[] args) {
        Node root = new Node("中国");

        Node gd_1 = new Node("广东");
        Node hn_1 = new Node("海南");
        List<Node> level1 = new ArrayList<>();
        level1.add(gd_1);
        level1.add(hn_1);

        Node hk_2 = new Node("海口");
        Node sy_2 = new Node("三亚");
        List<Node> level2 = new ArrayList<>();
        level2.add(hk_2);
        level2.add(sy_2);

        root.list = level1;
        hn_1.list = level2;

        println(root, 0);
    }

    public static void println(Node node, int num) {
        for (int i = 0; i < num; i++) {
            System.out.print("--");
        }
        System.out.println(node.name);
        if (node.list != null) {
            for (Node n : node.list) {
                println(n, num + 1);
            }
        }
    }
}

class Node {
    String name;
    List<Node> list;

    public Node(String name) {
        this.name = name;
    }
}

中国
--广东
--海南
----海口
----三亚

posted @ 2021-11-22 10:47  、嘎路的米。  阅读(30)  评论(0)    收藏  举报