繁体   English   中英

如何将可观察列表转换为数组列表? 爪哇

[英]How to convert an observable list to an array list? Java

我正在尝试获取表视图中的所有项目并将它们放在数组列表中以供进一步处理。 这就是我想要实现的目标,但显然它行不通。

ArrayList<Consultation> showing = consultationTable.getItems();

不错的推荐解决方案:

List<Consultation> showing = provider.getItems();

仅在必要时使用的解决方案:

    List<Consultation> consultations = provider.getItems();
    ArrayList<Consultation> showing;
    if (consultations instanceof ArrayList<?>) {
        showing = (ArrayList<Consultation>) consultations;
    } else {
        showing = new ArrayList<>(consultations);
    }

如果由于某种原因您需要使用不在 List 或 ObservableList 接口中的 ArrayList 方法(我想不出为什么),您可以使用后者。

使用Stream类的简单方法

List<T> list = ObservableList<T>.stream().collect(Collectors.toList());

试试这个

new ArrayList<>(consultationTable.getItems())
// To convert an observable list to an array of strings given the following observable list:

// Create these in the class 
ListView<String> myListView = new ListView<>();
ObservableList<String> myList;

// 然后在开始类中定义它们 myList = FXCollections.observableArrayList(someGivenArray); myListView.setItems(myList);

// Make an array to store list items in the observable list as strings
List<String> myArray = new ArrayList<String>();

// Loop through the observable list and load the string array
    for (int i =0; i<myList.size(); i++){
       myArray.add(myList.get(i));
    }
// Test by printing out to the screen or a text field
    System.out.println(myList.get(0));
    myTextField.setText(myList.get(0));

暂无
暂无

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

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