Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用TreeMap模拟文件系统?_Java_Data Structures_Conceptual - Fatal编程技术网

Java 使用TreeMap模拟文件系统?

Java 使用TreeMap模拟文件系统?,java,data-structures,conceptual,Java,Data Structures,Conceptual,我试图弄清楚如何为我正在尝试制作的Java shell制作类似文件夹文件结构的东西。我希望它类似于linux文件夹结构(有一个根目录,并且所有的文件都是从它开始的) 首先,我想知道是否应该使用树形图(这样可以保持某种类型的顺序),或者是否有更好的方法。我知道Java的API非常庞大,并且有许多不同的数据结构,但我不确定哪一个是合适的 另一个问题是在“目录”之间导航。我的基本概念是使用变量作为“地标”,它会根据我移动的位置而变化 树中的文件夹将是根目录(main.class)创建的“服务器”对象(

我试图弄清楚如何为我正在尝试制作的Java shell制作类似文件夹文件结构的东西。我希望它类似于linux文件夹结构(有一个根目录,并且所有的文件都是从它开始的)

首先,我想知道是否应该使用树形图(这样可以保持某种类型的顺序),或者是否有更好的方法。我知道Java的API非常庞大,并且有许多不同的数据结构,但我不确定哪一个是合适的

另一个问题是在“目录”之间导航。我的基本概念是使用变量作为“地标”,它会根据我移动的位置而变化

树中的文件夹将是根目录(main.class)创建的“服务器”对象(server.class),而根目录(main.class)又具有由服务器对象中的方法创建的“应用程序”对象(application.class)


我的概念有什么根据吗?或者说,这是行不通的吗?

这听起来根本不像一个地图(键/值存储)

我希望有一个文件/目录对象的树结构。您的当前位置只是记录为目录对象的一个实例。我怀疑为了提高效率,你可能需要一个双链接的结构


这可能会提供更多信息和建议。

使用真正的树结构,而不是树映射。
它可以在内部为每个节点(文件夹)的内容使用树状图,但整体不应该是树状图。

如果您使用的是java7,您可以查看或实现自己的树状图


在java7之前,模拟“内存文件系统”相当复杂。您可以查看,但如果我没记错的话,它只处理URL而不处理文件。

继续,然后尝试回答:)。我认为“内存中”文件系统比映射/树实现更适合您。