组合模式是一种结构型设计模式,它允许我们将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性,可以将对象组合成树状结构,并且能够以相同的方式处理它们。
在组合模式中,有两种主要类型的对象:叶节点和组合节点。叶节点表示树的最底层对象,它们没有子节点。组合节点可以包含其他子节点,可以是叶节点,也可以是其他组合节点。
下面是一个使用组合模式的示例,展示了一个文件系统的层次结构。文件系统由文件和文件夹组成,文件夹可以包含其他文件夹或文件。
import java.util.ArrayList;
import java