请问,Java中,泛型数组的数组怎么初始化?(就是ArrayList数组)
在Java中,我定义了一个泛型数组的数组,请问怎么才能正确的将他初始化?ArrayList<Integer>[]arrayss;就是这个数组,不知道怎么初始化,求高手指点...
在Java中,我定义了一个泛型数组的数组,请问怎么才能正确的将他初始化?
ArrayList<Integer>[] arrayss;
就是这个数组,不知道怎么初始化,求高手指点,不胜感激!
补充,下面的方法我也试过,但是都没通过编译
arrayss=new ArrayList<Integer>[10];
arrayss=new ArrayList[10];
或者是否可以通过其他方法达到这个数组的目的。这个数组会比较大,成千上万。
arrayss=new ArrayList<Integer>[10](); 刚试了,还是不行,不能通过编译。
我想要这样一个数组
int i[a][b],要求是 a 不可变,而 b 可变
arrayss = new ArrayList<Integer[]>(); //这个是用一个可变的ArrayList来装一个Integer数组,是指可以装不确定个Integer数组,而我要装的Integer数组的个数是确定的,而Ingeter数组里面的数的个数是不确定的。
谢谢puziguo 有个比较严重的问题,就是 这个a的个数相当的大,会到成千上万,甚至几十几百万,ArrayList的访问元素的复杂度比较高,会造成比较严重的性能下降。有没有更好的解决办法呢?谢谢了 展开
ArrayList<Integer>[] arrayss;
就是这个数组,不知道怎么初始化,求高手指点,不胜感激!
补充,下面的方法我也试过,但是都没通过编译
arrayss=new ArrayList<Integer>[10];
arrayss=new ArrayList[10];
或者是否可以通过其他方法达到这个数组的目的。这个数组会比较大,成千上万。
arrayss=new ArrayList<Integer>[10](); 刚试了,还是不行,不能通过编译。
我想要这样一个数组
int i[a][b],要求是 a 不可变,而 b 可变
arrayss = new ArrayList<Integer[]>(); //这个是用一个可变的ArrayList来装一个Integer数组,是指可以装不确定个Integer数组,而我要装的Integer数组的个数是确定的,而Ingeter数组里面的数的个数是不确定的。
谢谢puziguo 有个比较严重的问题,就是 这个a的个数相当的大,会到成千上万,甚至几十几百万,ArrayList的访问元素的复杂度比较高,会造成比较严重的性能下降。有没有更好的解决办法呢?谢谢了 展开
5个回答
展开全部
既然你暗示就是ArrayList了,
首选就从Arraylist想了
可以试试:
import java.util.ArrayList;
public class Test{
public static void main(String[]args){
ArrayList<ArrayList<Integer>> als = new ArrayList<ArrayList<Integer>> ();
ArrayList<Integer> a1 = new ArrayList<Integer>();
ArrayList<Integer> a2 = new ArrayList<Integer>();
ArrayList<Integer> a3 = new ArrayList<Integer>();
ArrayList<Integer> a4 = new ArrayList<Integer>();
//下面是添加行,你可以用循环添加固定的行
//每一列就是一个ArrayList<Integer>,你可以任意添加,长度不固定吧
als.add(a1);
als.add(a2);
als.add(a3);
als.add(a4);
System.out.println(als.size());
}
}
tao_3000的方法可行,只是Integer[]创建时要指定维数
可以自己写个算法自动增加维数
对于你说的数据量问题,个人理解是这样的:
达到了几十万几百万的数据量的时候,我想大概就是从数据库中吧数据读取出来,进行批量的处理或者更新之类的操作。
你说得很对,如此庞大的数据量肯定会使效率降低,
但是我们完全可以一次从数据库中读取几百条记录,进行操作
关于如何从数据库中一次读取很少的记录,jdbc和hibernate都有相应的实现
在者,数据量过大,呵呵,JVM可能崩溃哦 *_*
首选就从Arraylist想了
可以试试:
import java.util.ArrayList;
public class Test{
public static void main(String[]args){
ArrayList<ArrayList<Integer>> als = new ArrayList<ArrayList<Integer>> ();
ArrayList<Integer> a1 = new ArrayList<Integer>();
ArrayList<Integer> a2 = new ArrayList<Integer>();
ArrayList<Integer> a3 = new ArrayList<Integer>();
ArrayList<Integer> a4 = new ArrayList<Integer>();
//下面是添加行,你可以用循环添加固定的行
//每一列就是一个ArrayList<Integer>,你可以任意添加,长度不固定吧
als.add(a1);
als.add(a2);
als.add(a3);
als.add(a4);
System.out.println(als.size());
}
}
tao_3000的方法可行,只是Integer[]创建时要指定维数
可以自己写个算法自动增加维数
对于你说的数据量问题,个人理解是这样的:
达到了几十万几百万的数据量的时候,我想大概就是从数据库中吧数据读取出来,进行批量的处理或者更新之类的操作。
你说得很对,如此庞大的数据量肯定会使效率降低,
但是我们完全可以一次从数据库中读取几百条记录,进行操作
关于如何从数据库中一次读取很少的记录,jdbc和hibernate都有相应的实现
在者,数据量过大,呵呵,JVM可能崩溃哦 *_*
展开全部
java 不支持泛型数组,但是你可以这样声明:ArrayList<Integer>[] listArr=new ArrayList[3];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java 不支持泛型数组!!!
使用ArrayList<ArrayList<Integer>>吧
使用ArrayList<ArrayList<Integer>>吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
arrayss=new ArrayList<Integer>[10]();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
泛型包含在这个 java.util 包里
你在前面加了么?
你在前面加了么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询