我的循环只将一个对象打印到我的tableview。I´;我正在使用Java private void displayGroupsInRanking(){ 对于(int i=0;i

我的循环只将一个对象打印到我的tableview。I´;我正在使用Java private void displayGroupsInRanking(){ 对于(int i=0;i,java,loops,Java,Loops,我正在尝试,从arraylist中获取一个特定属性到一个新的arraylist中。这很好,但是listview只显示一个对象? [输出 我不会从您的屏幕上重写代码来告诉您正确的方法,但我可以告诉您这里出了什么问题 在每次迭代中,您都要创建一个新集合,其中正好有一个项,然后将其用作表的项列表。 这显然是错误的 要解决这个问题,你必须首先准备完整的项目列表,然后将其传递给setItems方法。请将代码作为文本而不是图像发布。谢谢。我是StackOverflow的新手:)所有不同的排名列表都包含一个列

我正在尝试,从arraylist中获取一个特定属性到一个新的arraylist中。这很好,但是listview只显示一个对象? [输出


我不会从您的屏幕上重写代码来告诉您正确的方法,但我可以告诉您这里出了什么问题

在每次迭代中,您都要创建一个新集合,其中正好有一个项,然后将其用作表的项列表。 这显然是错误的


要解决这个问题,你必须首先准备完整的项目列表,然后将其传递给
setItems
方法。

请将代码作为文本而不是图像发布。谢谢。我是StackOverflow的新手:)所有不同的排名列表都包含一个列表,共有4个团队。然后我应该有一个完整的列表。或者我可能误解了你的答案。谢谢你的帮助:)埃隆Than@EdwinMhoySilva仔细阅读您的代码。您的
for
循环的每次迭代都会重置表中的行,并将当前项添加到表中。您应该每个表只调用一次
setItems
,而不是每行。我现在明白了。然后我需要创建一个need变量,即所有我的项,然后使用该变量和方法getNames:)
private void displayGroupsInRanking() {


    for (int i = 0; i < 4; i++) 

    {

        RankingANames.setItems(FXCollections.observableArrayList(groupModel.getListA().get(i).getName()));
        System.out.println(RankingANames);

    }
        RankingBNames.setItems(FXCollections.observableArrayList(groupModel.getListB()));
        RankingCNames.setItems(FXCollections.observableArrayList(groupModel.getListC()));
        RankingDNames.setItems(FXCollections.observableArrayList(groupModel.getListD()));


}