arrayList问题

braddoris 2010-03-12 09:43:23
public class ArrayListTest {

public static void main(String[] args) {
List<Integer>[] list = new ArrayList[10];
System.out.println(list);
for(int i=0;i<10;i++){
list[i].add(i);
}


}

}

这是我写的测试程序
现在的想法是建立这样一个二维的数组,但是 list[i].add(i);总是报空指着异常,请大家帮我看一下 ,谢了!
...全文
374 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ark032425 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pinkrobin 的回复:]
你创建的List数组,当时并没有创建数组里面的元素,应该是
for(int i = 0; i < 10; i++){
list[i] = new ArrayList<Integer>();
}
[/Quote]
创建数组,默认元素都是null。
奔跑哥 2010-03-16
  • 打赏
  • 举报
回复
你创建的数组,默认是不会初始化的,为null,你必须自己初始化。
helloxql 2010-03-16
  • 打赏
  • 举报
回复
有意思,高手真多,顶了
liujun3512159 2010-03-16
  • 打赏
  • 举报
回复
list[i].add(i);
改成
list.add(i);
zings 2010-03-16
  • 打赏
  • 举报
回复
list.add(i);
VirusFu 2010-03-16
  • 打赏
  • 举报
回复
public class ArrayListTest {

public static void main(String[] args) {
List<Integer>[] list = new ArrayList[10];
for(int i=0;i<list.length;i++){
list[i] = new ArrayList<Integer>(10);
}
System.out.println(list);
for(int i=0;i<10;i++){
list[i].add(i);
}
}

}
charles361 2010-03-16
  • 打赏
  • 举报
回复
你的数组中的list没有初始化,前两天就有人问这个问题了!
sunjiang1224 2010-03-15
  • 打赏
  • 举报
回复
我也遇见过这个问题,你可以这么做:

你在创建第一个ArrayList时没有创建里面的元素
for(int i = 0; i<10; i++)
{
list[i] = new Arraylist<Integer>();
}
这样就好了
lliiqiang 2010-03-15
  • 打赏
  • 举报
回复
for(int i=0;i<10;i++){
list.add(i);
}一开始是空,所以要添加而不是修改
awusoft 2010-03-14
  • 打赏
  • 举报
回复


public class ArrayListTest {

public static void main(String[] args) {
List<Integer>[] list = new ArrayList[10];
System.out.println(list);
for(int i=0;i<10;i++){
list[i] = new ArrayList();
for(int j=0;j<10;j++){
list[i].add(j);
}
}

}

}
hollomyfoolish 2010-03-14
  • 打赏
  • 举报
回复
数组没有初始化
SADSDSDDASDASD 2010-03-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 eyes_on_you 的回复:]
list.add(i)吧
[/Quote]这个说的对把 都是自动加进去的 没必要那么还有一个参数控制把
xllee 2010-03-14
  • 打赏
  • 举报
回复
同意 upupupupupupupupup
canoe982 2010-03-14
  • 打赏
  • 举报
回复
顶14楼!不过,list中的每个成员都是只有一个元素的list,略改了下代码:

import java.util.*;
public class ArrayListTest {

public static void main(String[] args) {
List<List<Integer>> list = new ArrayList<List<Integer>>();
for (int i=0; i<10; i++)
{
List<Integer> subList = new ArrayList<Integer>();
for (int j = 0; j < 10; j ++)
subList.add(i);
list.add(subList);
}

}

}
hui94781674 2010-03-14
  • 打赏
  • 举报
回复
list[i]也要初始化
jerry1900 2010-03-14
  • 打赏
  • 举报
回复
同意~

[Quote=引用 2 楼 pinkrobin 的回复:]

你创建的List数组,当时并没有创建数组里面的元素,应该是
for(int i = 0; i < 10; i++){
list[i] = new ArrayList<Integer>();
}
[/Quote]
zhuyouyong 2010-03-14
  • 打赏
  • 举报
回复
顶[Quote=引用 16 楼 hui94781674 的回复:]
list[i]也要初始化
[/Quote]
x_pengcheng 2010-03-14
  • 打赏
  • 举报
回复
二维数组还没定义呢 当然会报错了。
longq121 2010-03-14
  • 打赏
  • 举报
回复
同意二楼,,顶
Aishangwan 2010-03-14
  • 打赏
  • 举报
回复


List<List<Integer>> list = new ArrayList<List<Integer>>();
for (int i=0; i<10; i++) {
List<Integer> subList = new ArrayList<Integer>();
subList.add(i);
list.add(subList);
}
加载更多回复(12)

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧