簡體   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