And*_*ndy 30 java arraylist multidimensional-array
无论如何我对ArrayLists还是比较陌生的但是我需要它们用于这个项目我正在这样做,如果你们能帮助我的话我会非常感激!
基本上,我需要创建一个多维的ArrayList来保存String值.我知道怎么用标准数组来做这个,public static String[][] array = {{}}
但是这并不好,因为我不知道我的数组的大小,我所知道的是它将有多少维度.
所以,如果你们知道如何制作一个"具有2/+尺寸的动态可调整大小的阵列",请告诉我.
谢谢提前,
安迪
编辑/更新
也许使用变量调整大小或定义标准数组会更容易?但我不知道?
使用我对ArrayList的原始想法可能更容易......我只需要一个完整的示例代码来创建2D ArrayList并在不知道索引的情况下将这些示例值添加到两个维度.
Jac*_*maw 31
ArrayList<ArrayList<String>> array = new ArrayList<ArrayList<String>>();
根据您的要求,您可以使用类似下面的Generic类来简化访问:
import java.util.ArrayList;
class TwoDimentionalArrayList<T> extends ArrayList<ArrayList<T>> {
public void addToInnerArray(int index, T element) {
while (index >= this.size()) {
this.add(new ArrayList<T>());
}
this.get(index).add(element);
}
public void addToInnerArray(int index, int index2, T element) {
while (index >= this.size()) {
this.add(new ArrayList<T>());
}
ArrayList<T> inner = this.get(index);
while (index2 >= inner.size()) {
inner.add(null);
}
inner.set(index2, element);
}
}
Run Code Online (Sandbox Code Playgroud)
Sha*_*ing 14
如果您被允许使用预定义的Java类,您可以执行以下操作:
private static ArrayList<ArrayList<String>> biDemArrList = new ArrayList<ArrayList<String>>();
Run Code Online (Sandbox Code Playgroud)
然后你可以添加新元素,例如:
ArrayList<String> temp = new ArrayList<String>(); // added ()
temp.add("Hello world.");
biDemArrList.add(temp);
Run Code Online (Sandbox Code Playgroud)
希望你能理解我的意思和发生的事情.此外,您还需要导入java.util.ArrayList; 为此,如果您正在使用Java类.
DGH*_*DGH 11
ArrayList<ArrayList<String>>
http://download.oracle.com/javase/6/docs/api/java/util/ArrayList.html
http://en.wikipedia.org/wiki/Generics_in_Java
一旦我需要二维 arrayList 并使用 List 和 ArrayList 创建,代码如下:
import java.util.*;
public class ArrayListMatrix {
public static void main(String args[]){
List<ArrayList<Integer>> a = new ArrayList<>();
ArrayList<Integer> a1 = new ArrayList<Integer>();
ArrayList<Integer> a2 = new ArrayList<Integer>();
ArrayList<Integer> a3 = new ArrayList<Integer>();
a1.add(1);
a1.add(2);
a1.add(3);
a2.add(4);
a2.add(5);
a2.add(6);
a3.add(7);
a3.add(8);
a3.add(9);
a.add(a1);
a.add(a2);
a.add(a3);
for(ArrayList obj:a){
ArrayList<Integer> temp = obj;
for(Integer job : temp){
System.out.print(job+" ");
}
System.out.println();
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
1 2 3
4 5 6
7 8 9
来源:https : //www.codepuran.com/java/2d-matrix-arraylist-collection-class-java/
归档时间: |
|
查看次数: |
227595 次 |
最近记录: |