匹配两个ID我有字符串的两个非常巨大的列表,包含了一些标识(超过70K)之一,并包含一些字符串信息的另一个列表,包含ID(超过40万项),每行。我需要为第一个列表中的每个ID从第二个列表中获取具有相同ID的所有消息。我试图通过创建一些线程用于从第一列表中的每个ID,可以迭代整个第二列表,并检索&删除该消息。这似乎创建了太多的Iterator对象,导致OOM没有给出足够的内存。另外,迭代第二个列表时CPU是100%。有什么建议么?我可以改变实现,容器也是我保留的信息。有效的方法来从两个很长的货柜
谢谢。
while (condition) {
<Message> iterator = msgQueue.iterator();
while (iterator.hasNext()) {
Message message = iterator.next();
if (filter.filter(message)) {
iterator.remove();
}
}
}