如何从ArrayList<long[]>
检索元素?
ArrayList<long []> dp=new ArrayList<>();
//m is no of rows in Arraylist
for(int i=0;i<m;i++){
dp.add(new long[n]); //n is length of each long array
//so I created array of m row n column
}
现在如何获取每个元素?
答案 0 :(得分:0)
该列表中的每个元素都是一个数组......因此您需要仔细添加以下内容:
使用匿名数组new long[] { 1L, 2L, 3L }
或使用新关键字new long[5]
public static void main(String[] args) throws Exception {
ArrayList<long[]> dp = new ArrayList<>();
// add 3 arrays
for (int i = 0; i < 3; i++) {
dp.add(new long[] { 1L, 2L, 3L });
}
// add a new array of size 5
dp.add(new long[5]); //all are by defaul 0
// get the info from array
for (long[] ls : dp) {
for (long l : ls) {
System.out.println("long:" + l);
}
System.out.println("next element in the list");
}
}
答案 1 :(得分:0)
您从ArrayList
得到的数据与获取数据的方式相同。例如,要获得long[]
中存储的第十个ArrayList
,您需要使用get
方法:
long[] tenthArray = dp.get(9);
答案 2 :(得分:-1)
您还可以拥有一个包含内部long数组的objetcs ArrayList。但到目前为止,您的代码存在的问题是您没有在每个长数组中添加任何值。
public class NewClass {
private static class MyObject {
private long []v;
public MyObject(int n) {
v = new long[n];
}
@Override
public String toString() {
String x = "";
for (int i = 0; i < v.length; i++) {
x += v[i] + " ";
}
return x;
}
}
public static void main(String[] args) {
ArrayList<MyObject> dp = new ArrayList();
int m = 3;
int n = 5;
for (int i = 0; i < m; i++) {
dp.add(new MyObject(n));
}
for (MyObject ls : dp) {
System.out.println(ls);
}
}
}