我需要在javafx tableview中实现具有大数据(大约100,000)的过滤器,
我尝试了this tutorial。它可以工作,但是与swing sorting and filtering和code相比,过滤确实很慢。
谁能帮助我提高速度。
现在发生的事情是,当我键入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行)