所以我需要管理一堆日志文件来获取唯一的 ID。 对于我的 map ,我希望唯一的 ID 成为关键。但是,我需要管理的日志文件 每个 ID 可能包含多个条目。
所以我的问题是我将如何去做这样的事情:
map (唯一 ID,(事件队列))
因此,每次我在日志中遇到唯一 ID 的新事件时,我该如何添加该事件 事件到相应键的队列。
编辑: 例如:
Event e = new Event();
map.put(e.ID, queue.add(e));
类似的事情?
最佳答案
下面的代码片段将让您了解如何做到这一点。请注意,此代码没有考虑并发性,因此如果您的代码是多线程的,您可能必须在访问映射周围添加一些同步逻辑。此外,使用的底层队列数据结构将取决于您打算如何使用该队列。
Queue<Event> queue;
if(map.contains(e.ID)){
queue = map.get(e.ID);
} else{
queue = new ArrayBlockingQueue<Event>();
map.put(queue);
}
queue.add(e);
关于java - 带有队列的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19473948/