簡體   English   中英

Java:將單獨的 for 循環的輸出顯示為控制台中顯示的額外列

[英]Java: showing the output of a separate for loop as an extra column shown in a console

有點上下文...

在我的項目中,我有一個嵌入的 for 循環,它輸出數據,其中每個類別顯示項目並在每個項目中顯示其屬性,因此實際上我生成的輸出是控制台中的 3 列數據(標題:類別/項目/屬性)顯示此數據的 for 循環如下所示(變量在方法中的前面設置):

for... (picks up each category)
    for...(picks up items in category)
        for (String propertyName : item.getPropertyNames()) { 
                out.println(category.getName() + "\t"
                        + itemDesc.getName() + "\tProperty:"
                        + propertyName);    
            }
     }
}

該項目的目的是提供系統中設置組件屬性的更動態文檔。 ( /t 可以在控制台上將它們分成單獨的列,甚至在我應該選擇在打印流上設置文件的excel電子表格中的文件中(也在此方法的開頭。))

問題

現在的問題是,在上面指定的 for 循環之后,我生成了另一個與數據分開的 for 循環,但顯示了組件中涉及的所有函數和運算符的列表:

//Outside the previous for loops
    for (Function function : Functions.allFunctions) {
        out.println(function.getSignature());   
    }

我想要的是將此列表設置為第 4 列,但 for 循環的定位及其設置方式使其固定在具有類別的第一列上。 我不能在屬性名稱之后添加它,因為這些函數對於列表中的所有內容都更通用,並且可能存在我試圖避免的函數重復。 有沒有辦法將它設置為第四列? 無法找到足夠的研究來指定我在這里尋找的內容。 希望這是有道理的。

一種解決方案,如果輸出的總量足夠小以適合內存,則只需將所有數據保存到StringArrayList中,並在最后全部輸出。

List<String> myList = new ArrayList<String>();

for... (picks up each category)
    for...(picks up items in category)
        for (String propertyName : item.getPropertyNames()) { 
                myList.add(category.getName() + "\t"
                        + itemDesc.getName() + "\tProperty:"
                        + propertyName);    
            }
     }
}

int i = 0;
// Here we assume that the total lines output by the previous set of loops is
// equal to the total output by this loop.
for (Function function : Functions.allFunctions) {
    out.println(myList.get(i) + "\t" + function.getSignature());   
    i++;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM