Java 如何从包含长数组的ArrayList中检索元素

Java 如何从包含长数组的ArrayList中检索元素,java,arraylist,Java,Arraylist,如何从ArrayList检索元素 我这样写道: 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 } ArrayList

如何从
ArrayList
检索元素

我这样写道:

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
}
ArrayList dp=new ArrayList();
//m是Arraylist中的行数

对于(int i=0;i该列表中的每个元素都是一个数组…因此您需要通过以下方式小心地添加这些元素: 使用匿名数组
new long[]{1L,2L,3L}
或者使用new关键字指定大小
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");
    }
}
publicstaticvoidmain(字符串[]args)引发异常{
ArrayList dp=新的ArrayList();
//添加3个数组
对于(int i=0;i<3;i++){
dp.add(新长[{1L,2L,3L});
}
//添加一个大小为5的新数组
dp.add(new long[5]);//全部由默认值0确定
//从数组中获取信息
用于(长[]ls:dp){
用于(长l:ls){
System.out.println(“long:+l”);
}
System.out.println(“列表中的下一个元素”);
}
}

您也可以有一个包含long数组的ObjeTC数组列表。但到目前为止,代码的问题是您没有在每个long数组中放入任何值

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);
        }
    }
}
公共类NewClass{
私有静态类MyObject{
私人长[]v;
公共对象(int n){
v=新长[n];
}
@凌驾
公共字符串toString(){
字符串x=“”;
对于(int i=0;i
获取数组的方式与从
ArrayList
获取任何内容的方式相同。例如,要获取存储在
ArrayList
中的第十个
长[]
,可以使用
get
方法:

long[]tenthArray=dp.get(9);

dp.get(someIndex)[some\u other\u index]
?请添加一个适当的语言标记。数组列表是多种编程语言的一部分。没有语言没有答案您介意在问题中添加适当的语言标记吗?您似乎知道该语言(看起来像Java).Thank.get 10行中的第8个元素写得像long l=dp.get(9)[7];dit有效。谢谢