为什么数据在al中是连续存储的,这与内存分配有关
ArrayList是用数组实现在,数组在内存中是一段连续的内存地址
向数组中添加数据是依次添加的,指针向下移动一位,添加一个数据
因此数据的存储是有序的,如楼上所说:al中的数据是
[person :ahah01, person :ahah02, person :ahah03, person :haha001, person :haha002, person :haha003]
输出内容不连续是由于你在一次循环里用了两次next()方法,每调用一次next方法指针就会向前移动一位
因此输出数据是不完整的(在这里由于讨论到了数组,就不得不提指针,实属无奈,望见谅) |