[英]How could I iterate these two loops in java?
我目前正在嘗試對數組中的數組進行編程,並對數組的內容進行迭代。 我不確定如何執行此操作,因為數組的類型不同。 我確定可以通過創建至少兩個方法來解決此問題,一個方法用於字符串,一個方法用於int,但是我不確定如何迭代此方法,因為第一個數組是ArrayList,后續數組只是列表。 我的問題是,如何迭代到第一個ArrayList,然后迭代到后續的數組? 這是我到目前為止的代碼:
import java.util.ArrayList;
public abstract class Unit {
ArrayList<Item> unitInv;
protected Unit (ArrayList<Item> inv) {
unitInv = inv;
}
public Object[] itemName() {
Object[] itemName = unitInv.toArray();
for (int i = 0; i < 1; i++) { getItemName()
System.out.println(unitInv.toArray());
}
return itemName;
}
public class Item {
static String[] itemString;
static int[] itemInt;
public Item(String[] itemS, int[] itemI) {
itemString = itemS;
itemInt = itemI;
}
public static int getItemName() {
int size = itemString.length;
for (int i = 0; size < 1; i++) {
System.out.println(itemString[i]);
}
return size;
}
}
我敢肯定,我只是在這里不考慮簡單的事情。 我無法弄清楚如何通過item類中的itemName方法從Item itemString數組中獲取值。 謝謝您的幫助!
您的unitInv
是項objects
的arrayList。 因此,您可以通過object直接訪問itemString
和itemInt
列表。
for (Item item : unitInv) {
// access itemString
String[] itemString = item.itemString; // or use getter
// iterate through list
for(String strItem : itemString) {
System.out.println(strItem)
}
// same applicable for itemInt
}
從我的角度來看,您有一個Item
數組,每個項目都有String[]
和int[]
。 因此,為了迭代ArrayList
您需要1個循環,對於每個Item
您需要2個循環-一個用於String[]
,一個用於int[]
。 它看起來像這樣:
//suppose we have initialize unitInv
ArrayList<Item> unitInv;
for(Item item : unitInv) {
for(int iString = 0; iString < item.itemString.length; iString++) {
//code for itemString array
}
for(int iInt = 0; iInt < item.itemInt.length; iInt++) {
//code for itemInt array
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.