gpt4 book ai didi

java - 使用数组、列表还是数千个字符串?

转载 作者:行者123 更新时间:2023-12-02 09:05:59 24 4
gpt4 key购买 nike

我有以下获取目录名称的方法:

    private List<String> getListOfDirectories(String rootDirectoryPath) {

List<String> listOfDirectories = new ArrayList<>();

File directory = new File(rootDirectoryPath);
File[] listOfFiles = directory.listFiles();

for (int i = 0; i < listOfFiles.length; i++) {

if (listOfFiles[i].isDirectory()) {
listOfDirectories.add(listOfFiles[i].getName());
}
}

return listOfDirectories;
}

我暂时将这些目录名称存储在列表中(不确定存储是否是正确的术语)。如果有 50000 个目录名,List 是正确的选择吗?它的内存效率高吗?它可以处理 50000 个或更多字符串吗?

编辑:我正在开发一个应用程序,用于搜索本地目录中的 html 文件并解析这些 html 文件。

最佳答案

List只是一个接口(interface),所以它实际上取决于列表的实现。假设ArrayList<String> ,它的内存效率大致与 String[] 一样。对于数组列表来说,最坏的情况是底层数组的常数因子(通常为 2)大于其实际存储的数据量。

如果您需要内存效率,根据您稍后使用列表的方式,您可以使用类似 trie 的内容。或Bloom filter .

关于java - 使用数组、列表还是数千个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13372824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com