繁体   English   中英

ArrayList 和 ObservableList 有什么区别?

[英]What is the difference between ArrayList and ObservableList?

目前我正在使用 javafx 上的数据库并且不知道 ObservableList,我可以使用 ArrayList 而不是 ObservableList 吗?

那要看。 如果您需要ObservableList ,则不能直接使用ArrayList ObservableList添加了一种侦听ArrayList未实现的列表更改的方法。

但是,您可以使用ArrayList作为ObservableList支持列表

ArrayList<T> list = ...
ObservableList<T> observableList = FXCollections.observableList(list);

请注意,在这种情况下,您应该确保除了observableList没有通过任何方式修改列表,否则将不会触发侦听器。

请注意, FXCollections还提供了一种创建由ArrayList支持的ObservableList的方法,而无需处理ArrayList本身:

ObservableList<T> observableList = FXCollections.observableArrayList();

ArrayList: List 接口的可调整大小的数组实现。 实现所有可选的列表操作,并允许所有元素,包括 null。

ObservableList:允许侦听器在发生更改时跟踪更改的列表。

这取决于你的情况。 如果您想在例如 tableView 或其他视图中显示此列表,那么您应该使用 Observable 集合,其中包含与视图进行交互所必需的侦听器等和其他组件。

暂无
暂无

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

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