【在线等】ArrayList的嵌套问题

lxpmz 2008-12-20 04:47:04
我是新手,请教一个ArrayList嵌套的问题。
有个二维数组:
a,bc,.....(每行元素个数不定)
d,ef,.....
.
.
.
(元素行数不定)

ArrayList pages_l=new ArrayList();
ArrayList pages_r=new ArrayList();

pages_l.add("a");
pages_l.add("bc");
.....
pages_r.add((ArrayList)(pages_l));

pages_l.add("d");
pages_l.add("ef");
.....
pages_r.add((ArrayList)(pages_l));
.....

那么,取值的时候,我想取第2行,第2个元素 ef :

((ArrayList)pagesinfo.get(1)).get(1).toString();

结果取到的是第1行第2个元素bc !!!

后来我试了下,假如第1行是3个元素,那么,((ArrayList)pagesinfo.get(0)).get(3+2).toString();这样才能取到 ef
也就是说pages_r始终是个一维的数组,请教是为什么呢,,,,怎么样才能实现二维数组呢?
...全文
704 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lyfing 2012-03-07
  • 打赏
  • 举报
回复
嗯,很好,收了。
[Quote=引用 2 楼 lshy168 的回复:]

我写了个例子,对你有帮助。
Java code

import java.util.ArrayList;

public class Test {

public static void main(String[] args) {
ArrayList col_lst = null;
ArrayList row_lst = null;

……
[/Quote]
lxpmz 2008-12-20
  • 打赏
  • 举报
回复
楼上的2位太帅了,狂赞一个,这个问题困扰了我n久,搞定了,十分感谢!
ssqtjffcu 2008-12-20
  • 打赏
  • 举报
回复

你在添加 pages_l.add("d");
pages_l.add("ef");
时,pages_l已经有a,bc两个元素了,所以结果是
a,bc
a,bc,d,ef
解决办法,每行一个ArrayList
lshy168 2008-12-20
  • 打赏
  • 举报
回复
我写了个例子,对你有帮助。

import java.util.ArrayList;

public class Test {

public static void main(String[] args) {
ArrayList col_lst = null;
ArrayList row_lst = null;

// 行
row_lst = new ArrayList();

// 第一列
col_lst = new ArrayList();
col_lst.add("a");// 第一行,第一列
col_lst.add("bc");// 第一行,第二列

row_lst.add(col_lst);

// 第二列
col_lst = new ArrayList();
col_lst.add("d");// 第二行,第一列
col_lst.add("ef");// 第二行,第二列

row_lst.add(col_lst);

String element1 = ((ArrayList) (row_lst.get(0))).get(1).toString();
System.out.println(" 第一行,第二列:" + element1);
String element2 = ((ArrayList) (row_lst.get(1))).get(1).toString();
System.out.println(" 第二行,第二列:" + element2);
}
}
fosjos 2008-12-20
  • 打赏
  • 举报
回复
你的pages_l是同一个

每次add后,重新new ArrayList

62,614

社区成员

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

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