我正在寻找一种在不使用大量内存的情况下在Java中存储目录路径的方法。在我当前的程序中,我有一个Hashmap,它将每个文件的完整路径作为键及其值存储。
6-8
当单个文件夹中有多个文件时,此方法将重复路径,例如同一文件夹中的两个文件将存储为
private HashMap<String, Double> fileStorage = new HashMap<>();
重复文件的路径,浪费内存。为了减少对记忆的影响,你建议我做什么?
请记住,也可以有1个目录的文件,例如
/var/www/example.com/html/index.php
/var/www/example.com/html/style.css
答案 0 :(得分:0)
你可以使用UUID方法,使用像这样的键映射
UUID uid = UUID.nameUUIDFromBytes("/var/www/example.com/html/index.php".getBytes());
当您需要从Map获取值时,在映射get
操作之前将路径字符串传递给UUID
您可以创建一种从UUID生成长(数字)值的方法,以优化更多的内存使用量