我正在尝试在 Java 中实现具有多个监听器和多个事件类型的观察者/监听器模式。每个事件监听器都可以对一种或多种事件类型感兴趣。
为每个特定事件类型存储监听器并迭代它们(可能是列表列表)的最有效方法是什么?
当然,强烈推荐线程安全的解决方案。
最佳答案
您可以使用 java.util.concurrent.ConcurrentHashMap用于线程安全 HashMap 。
你需要的结构是:
ConcurrentHashMap<EventType,List<Listener>> map;
这样,每个监听器都会注册到多个事件类型。
关于java - 如何为多种事件类型存储监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11396267/