[英]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.