java - 用于存储阻塞线路的集合

标签 java collections

我正在制作一个应用程序,用户将在其中通过网络在共享文档上键入内容。 问题之一是阻塞其他用户正在输入的行。 为此,我有一个 DocumentListener 来检查行更改。当用户成功移动到新线路(这意味着该线路未被使用)时,监听器将通知其他用户该线路现在已被使用。

DocumentFilter 将在每次编辑时检查该行是否被阻止,然后再允许编辑。

现在,我关心的问题之一是哪种集合最适合存储行号。该集合将仅包含Integer。当一条线路被阻塞时,它将被添加到该集合中。当 DocumentFilter 需要检查某行是否可用时,它将遍历该列表。此外,当使用该线路的用户移动到新线路时,会发送另一条消息,该消息将从用户集合中删除该线路。

我知道 ArrayList 可能就足够了,尽管我希望有人可能有不同的想法。

最佳答案

如果用户添加新行怎么办?每个存储的行都必须重新定位/重新编号。 如果用户退出程序或程序崩溃或只是他回家吃晚饭怎么办?您是否实现某种超时?

无论如何,一个 SortedSet 就可以了,但你也许应该在集合项中存储过期时间..

关于java - 用于存储阻塞线路的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9111791/

相关文章:

java - 如何在 JSON 文件中循环 JSON 数据并解析而不使用数组

java - 如何处理 Java Web 应用程序中的异常?

java - 从 getter 返回通用集合

scala - 带大小写和不带大小写的 zipWithIndex

linq - 如何在 Linq 中合并集合的集合

javascript - 如何在 IE 调试控制台中显示 servlet 运行时间?

java方法重载继承与多态

java - 将逗号分隔的字符串转换为整数数组的最佳方法

java - HashSet、Vector、LinkedList 的最大大小

支持快速删除任意节点的Java链表?