我需要在javafx tableview中实现具有大数据(大约100,000)的过滤器,

我尝试了this tutorial。它可以工作,但是与swing sorting and filteringcode相比,过滤确实很慢。

谁能帮助我提高速度。

现在发生的事情是,当我键入textproperty change并启动了filterdata,但是速度很慢时,我需要一些东西来显示筛选结果,并迅速输入结果。

提前致谢。

ps我也看过this

最佳答案

您可以使用FilteredList

ObservableList<YourObjectClass> actualList = ...;
FilteredList<YourObjectClass> filteredList = new FilteredList<>(actualList);

TableView table = ...;
table.setItems(filteredList);

// to filter
filteredList.setPredicate(
    new Predicate<YourObjectClass>(){
        public boolean test(YourObjectClass t){
            return false; // or true
        }
    }
);

像挥杆一样快((可能快于挥杆...)。 (我测试了100000行)

07-24 20:05