//这里的结果是:
ahah01....person :ahah02
ahah03....person :haha001
haha002....person :haha003,好像是al1中的元素都按顺序排在了al后面,这是怎么回事?
若果要打印:ahah01....person :ahah01 该怎么写
} 作者: 汤密奕 时间: 2012-7-10 22:55
注意这句al.addAll(all),执行完后打印al应该是[person :ahah01, person :ahah02, person :ahah03, person :haha001, person :haha002, person :haha003],所以迭代器依次输出了那个结果,是正确的
如果要打印成你说的结果,就如二楼所说,在while循环体里加上Person p = it.next();System.out.println(p.getName()+"...."+p.toString());这两句作者: 张天天 时间: 2012-7-11 05:54
为什么数据在al中是连续存储的,这与内存分配有关
ArrayList是用数组实现在,数组在内存中是一段连续的内存地址
向数组中添加数据是依次添加的,指针向下移动一位,添加一个数据
因此数据的存储是有序的,如楼上所说:al中的数据是
[person :ahah01, person :ahah02, person :ahah03, person :haha001, person :haha002, person :haha003]