gpt4 book ai didi

java - remove() 方法太慢

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:14 25 4
gpt4 key购买 nike

我在读取内存跟踪时遇到问题。我已阅读并在 map 上保存了页面及其引用

map 结构:

    Map<Integer, List<Integer>> map = new HashMap<>();

然后我再次读取文件并从整数列表中删除引用

FileReader arq = new FileReader(new File(Path));
BufferedReader reader = new BufferedReader(arq, 41943040);
while ( (std = reader.readLine()) != null ) {
requestedPage = Integer.parseInt(std, 16);
//do something
M.map.get(requestedPage).remove(0));
}

问题是删除这些引用花费的时间太长,对于大的跟踪,删除引用需要数小时。有人有其他解决方案吗?

谢谢!

最佳答案

我认为如果 remove(0) 是您要在此列表上进行的唯一删除操作,那么 LinkedList 是一个更好的数据结构:

尝试:

Map<Integer, LinkedList<Integer>> map = new HashMap<Integer, LinkedList<Integer>>();

关于java - remove() 方法太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12134717/

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