java - 在 Java 中,有什么比将 SortedSet 转换为 Vector 更有效的替代方法呢?

标签 java jlist subset treeset sortedset

我正在用 Java 编写通讯录应用程序。联系人显示在使用 Sorted TreeSet 列表模型的 JList 上。

我添加了一个搜索字段,并为其添加了一个关键监听器。输入每个键后,列表模型的子集功能将用于显示缩小的联系人集。我希望 JList 显示这个缩小范围的子集。

我正在考虑将 SortedSet 转换为 Vector,然后使用 JList 的 setListData 方法来显示结果,但我知道这会很慢且效率低下,并且当您使用关键监听器时,这是一个更糟糕的主意。

所以我想问一下,解决这个问题最有效的方法是什么。

感谢您的帮助。

最佳答案

我会延长 AbstractListModel并直接使用Set/subSet作为JList显示的数据来源。每次用模型中的另一个子集替换当前子集时,请调用 fireContentsChanged 以使 View (JList)了解更改。

这样,就不需要将 Set 转换为 Vector。

关于java - 在 Java 中,有什么比将 SortedSet 转换为 Vector 更有效的替代方法呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7258433/

相关文章:

java - 如何确定android中的触摸持续时间

java - 从 Python 与 Jython/Java 通信(子进程)

java - 使用 Spring 将入站 JSON 消息转换为 Java 对象

arrays - 检查元胞数组是否是 Matlab 中另一个元胞数组的子集

java - 如何在java中快速有效地从列表中创建子集或powerSet?

java - 在 hibernate 中映射集合

java - 使用 AddElement 更改 DefaultListModel 时,JList 不显示

java - 如何重写类中的toString方法

java - 在 jList、 vector 或数组中设置 ListData 的更好方法是什么?

r - 查找一个向量的前 n 个元素,其中包含另一个向量的所有元素