Java-如何遍历三维ArrayList?
我正在尝试为我的项目实现ArrayList,但在执行过程中遇到了一些问题。如果有人能帮助我,那就太好了 我有一个字符串的三维数组,遍历它,让它保存一些字符串值Java-如何遍历三维ArrayList?,java,multidimensional-array,arraylist,Java,Multidimensional Array,Arraylist,我正在尝试为我的项目实现ArrayList,但在执行过程中遇到了一些问题。如果有人能帮助我,那就太好了 我有一个字符串的三维数组,遍历它,让它保存一些字符串值 for(int x=0;x<array.length;x++){ for(int y=0;y<array[0].length;y++){ for(int z=0;z<array[0][0].length;z++){ array[x][y][z] = "Lorem ipsum"; }
for(int x=0;x<array.length;x++){
for(int y=0;y<array[0].length;y++){
for(int z=0;z<array[0][0].length;z++){
array[x][y][z] = "Lorem ipsum";
}
}
}
用于(int x=0;x使用和:
int INITIAL_X_SIZE=100;
int INITIAL_Y_SIZE=100;
int INITIAL_Z_SIZE=100;
ArrayList arrSup=新的ArrayList(初始大小);
//初始化ArrayList:
对于(int x=0;x 对于(intz=0;z您需要使用get
arrayList没有索引
ArrayList<ArrayList<ArrayList<String>>> arrSup = new ArrayList<ArrayList<ArrayList<String>>>();
for(int x=0;x<arrSup.size();x++){
for(int y=0;y<arrSup.get(0).size();y++){
for(int z=0;z<arrSup.get(0).get(0).size();z++){
array.get(x).get(y).set(z, "Lorem ipsum");
}
}
}
ArrayList arrSup=new ArrayList();
对于(int x=0;x假设一个10x10阵列:
ArrayList<ArrayList<ArrayList<String>>> arrSup = new ArrayList<ArrayList<ArrayList<String>>>();
for (int x = 0; x < 10; x++) {
arrSup.add(new ArrayList<ArrayList<String>>());
for (int y = 0; y < 10; y++) {
arrSup.get(x).add(new ArrayList<String>());
for (int z = 0; z < 10; z++) {
arrSup.get(x).get(y).add("Lorem ipsum");
}
}
}
ArrayList arrSup=new ArrayList();
对于(int x=0;x<10;x++){
arrSup.add(新的ArrayList());
对于(int y=0;y<10;y++){
获取(x).add(newarraylist());
对于(intz=0;z<10;z++){
arrSup.get(x).get(y).add(“Lorem ipsum”);
}
}
}
与多维数组不同,列表不是为您分配的,因此您必须自己添加子列表
迭代可以通过两种方式完成,具体取决于是否需要使用坐标
// Build matrix
final int SIZE_X = 10;
final int SIZE_Y = 10;
final int SIZE_Z = 10;
List<List<List<String>>> matrix = new ArrayList<>();
for (int x = 0; x < SIZE_X; x++) {
List<List<String>> yList = new ArrayList<>();
matrix.add(yList);
for (int y = 0; y < SIZE_Y; y++) {
List<String> zList = new ArrayList<>();
yList.add(zList);
for (int z = 0; z < SIZE_Z; z++)
zList.add("Lorem ipsum");
}
}
// Iterate matrix without coordinates
for (List<List<String>> yList : matrix)
for (List<String> zList : yList)
for (String value : zList) {
System.out.println(value);
}
// Iterate matrix with coordinates
for (int x = 0; x < matrix.size(); x++) {
List<List<String>> yList = matrix.get(x);
for (int y = 0; y < yList.size(); y++) {
List<String> zList = yList.get(y);
for (int z = 0; z < zList.size(); z++) {
String value = zList.get(z);
System.out.println(value);
}
}
}
//构建矩阵
最终整数大小_X=10;
最终整数大小_Y=10;
最终整数大小_Z=10;
列表矩阵=新的ArrayList();
对于(int x=0;x
也注意到了它的变化。在Java 7(及更高版本)中,由于菱形操作符,您可以将声明简化为List arrSup=new ArrayList();
。
ArrayList<ArrayList<ArrayList<String>>> arrSup = new ArrayList<ArrayList<ArrayList<String>>>();
for (int x = 0; x < 10; x++) {
arrSup.add(new ArrayList<ArrayList<String>>());
for (int y = 0; y < 10; y++) {
arrSup.get(x).add(new ArrayList<String>());
for (int z = 0; z < 10; z++) {
arrSup.get(x).get(y).add("Lorem ipsum");
}
}
}
// Build matrix
final int SIZE_X = 10;
final int SIZE_Y = 10;
final int SIZE_Z = 10;
List<List<List<String>>> matrix = new ArrayList<>();
for (int x = 0; x < SIZE_X; x++) {
List<List<String>> yList = new ArrayList<>();
matrix.add(yList);
for (int y = 0; y < SIZE_Y; y++) {
List<String> zList = new ArrayList<>();
yList.add(zList);
for (int z = 0; z < SIZE_Z; z++)
zList.add("Lorem ipsum");
}
}
// Iterate matrix without coordinates
for (List<List<String>> yList : matrix)
for (List<String> zList : yList)
for (String value : zList) {
System.out.println(value);
}
// Iterate matrix with coordinates
for (int x = 0; x < matrix.size(); x++) {
List<List<String>> yList = matrix.get(x);
for (int y = 0; y < yList.size(); y++) {
List<String> zList = yList.get(y);
for (int z = 0; z < zList.size(); z++) {
String value = zList.get(z);
System.out.println(value);
}
}
}