What is the difference between ArrayList and ObservableList?

That depends. If you need a ObservableList, you cannot use ArrayList directly. ObservableList adds a way to listen for changes on a list which ArrayList does not implement.

However you could use a ArrayList as backing list of a ObservableList

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

Note that in this case you should make sure you're not modifying the list through any means but observableList, since otherwise the listeners won't be triggered.

Note that FXCollections also provides a method for creating a ObservableList backed by a ArrayList without having to deal with the ArrayList itself:

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

ArrayList: Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null.

ObservableList: A list that allows listeners to track changes when they occur.


It depends of your case. If you want to show this list in for example tableView or other view then you should use Observable collection which contains listeners ect and other components necessery for doing interaction with view.

Tags:

Java

Javafx 2