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