繁体   English   中英

除了将Java中的SortedSet转换为Vector之外,还有什么更有效的选择?

[英]What's a more efficient alternative than converting a SortedSet to a Vector in Java?

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

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

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

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

谢谢你的帮助。

我将扩展AbstractListModel并将Set / subSet直接用作JList显示的数据源。 每次将当前子集替换为模型中的另一个子集时,请调用fireContentsChanged使视图(JList)知道更改。

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

如果您不需要并发,请不要使用Vector,而是使用ArrayList,它不会同步,因此速度更快。

您将需要通过其ListModel将数据(无论是什么集合)绑定到列表。

请参阅《 高级JList编程指南 》中标题为具有动态内容的列表的部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM