簡體   English   中英

將元素添加到數組列表

[英]Add elements to Array list

我有一個數組列表的數組列表:

ArrayList<ArrayList<Character>> NodesAndServices = new ArrayList<ArrayList<Character>>();

我想將NodesAndServices的NodesAndServices添加到另一個arraylist allChars

    List<Character> allChars = new ArrayList<Character>();

    for (int i = 0; i < NodesAndServices.size(); i++) {
    List<Character> eachListRow = NodesAndServices.get(i);

    for (List<Character> chr : eachListRow) { //Error
        for (char ch : chr) {
            allChars.add(ch);
        }
    }
}

但是你得到編譯時錯誤:

required: java.util.list
found: java.lang.character

UPDATE

for (int i = 0; i < NodesAndServices.size(); i++) {
    List<Character> eachListRow = NodesAndServices.get(i);

    for (Character chr : eachListRow.get(i)) { //Error,foreach not applicable to type character

            allChars.add(each);
    }
}

eachListRow不是列表列表。 嘗試這個:

 for (Character chr : eachListRow) {...

更新:

 for (int i = 0; i < nodesAndServices.size(); i++) {
        List<Character> eachListRow = nodesAndServices.get(i);

        for (Character chr : eachListRow) {
            allChars.add(chr);
        }
    }
for (List<Character> chr : eachListRow) { //Error

當編寫像這樣的增強的for循環時,循環變量chr將采用集合eachListRow中每個元素的值,即List<Character> 因此, chr必須為Character類型,而不是List<Character>

然后您將意識到甚至不需要嵌套循環:

for (Character chr : eachListRow) { // OK
    allChars.add(ch);
}

注意:您也可以在第一個循環中使用增強的for循環,從而導致以下代碼,這更易於閱讀:

List<Character> allChars = new ArrayList<Character>();

for (List<Character> eachListRow : NodesAndServices) {
    for (Character chr : eachListRow) {
        allChars.add(ch);
    }
}

暫無
暫無

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

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