web-dev-qa-db-fra.com

JavaFX, Casting ArrayList to ObservableList

Existe-t-il un moyen de convertir ArrayList en ObservableList? Je voudrais le faire sans itérer à travers ArrayList.

Pour être plus précis, j'utilise ORMLite pour extraire des données de la base de données et j'ai besoin de ObservableList comme sortie de la méthode d'extraction des données à partir de DB. 

Actuellement, je fais quelque chose comme ça:

ArrayList<Stavka> listStavaka = new ArrayList<>(); 
Dao<Stavka, Integer> stavkaDao = DaoManager.createDao(connection, Stavka.class);
listStavaka = (ArrayList<Stavka>) stavkaDao.queryForAll();
ObservableList<Stavka> oListStavaka = FXCollections.observableArrayList();
for (Stavka stavka : listStavaka) {
    oListStavaka.add(stavka);
}

Et j'aimerais faire quelque chose comme ça:

ObservableList<Stavka> listStavaka = FXCollections.observableArrayList();
Dao<Stavka, Integer> stavkaDao = DaoManager.createDao(connection, Stavka.class);
listStavaka = (ObservableList<Stavka>) stavkaDao.queryForAll();
35
Miljac

Tu peux faire

ObservableList<Stavka> oListStavaka = FXCollections.observableArrayList(listStavaka);
81
Uluk Biy

Comme dans la réponse de Uluk Biy, mais si vous ne voulez pas mélanger la nouvelle liste de FXCollections,.

oListStavaka.addAll(stavkaDao.queryForAll());
0
Eric Chan