Java 使用TreeMap模拟文件系统?
我试图弄清楚如何为我正在尝试制作的Java shell制作类似文件夹文件结构的东西。我希望它类似于linux文件夹结构(有一个根目录,并且所有的文件都是从它开始的) 首先,我想知道是否应该使用树形图(这样可以保持某种类型的顺序),或者是否有更好的方法。我知道Java的API非常庞大,并且有许多不同的数据结构,但我不确定哪一个是合适的 另一个问题是在“目录”之间导航。我的基本概念是使用变量作为“地标”,它会根据我移动的位置而变化 树中的文件夹将是根目录(main.class)创建的“服务器”对象(server.class),而根目录(main.class)又具有由服务器对象中的方法创建的“应用程序”对象(application.class)Java 使用TreeMap模拟文件系统?,java,data-structures,conceptual,Java,Data Structures,Conceptual,我试图弄清楚如何为我正在尝试制作的Java shell制作类似文件夹文件结构的东西。我希望它类似于linux文件夹结构(有一个根目录,并且所有的文件都是从它开始的) 首先,我想知道是否应该使用树形图(这样可以保持某种类型的顺序),或者是否有更好的方法。我知道Java的API非常庞大,并且有许多不同的数据结构,但我不确定哪一个是合适的 另一个问题是在“目录”之间导航。我的基本概念是使用变量作为“地标”,它会根据我移动的位置而变化 树中的文件夹将是根目录(main.class)创建的“服务器”对象(
我的概念有什么根据吗?或者说,这是行不通的吗?这听起来根本不像一个地图(键/值存储) 我希望有一个文件/目录对象的树结构。您的当前位置只是记录为目录对象的一个实例。我怀疑为了提高效率,你可能需要一个双链接的结构
这可能会提供更多信息和建议。使用真正的树结构,而不是树映射。
它可以在内部为每个节点(文件夹)的内容使用树状图,但整体不应该是树状图。如果您使用的是java7,您可以查看或实现自己的树状图
在java7之前,模拟“内存文件系统”相当复杂。您可以查看,但如果我没记错的话,它只处理URL而不处理文件。继续,然后尝试回答:)。我认为“内存中”文件系统比映射/树实现更适合您。