先回答你第一个问题 首先在你的equals 方法里面 你的this.name 和 name 指向的都是同一个对象的name 所以结果肯定恒为真,所以你的equals 当你传入Person 对象后永远都为真,去重的目的是不会达到的,再说了,看到你的Person p = (Person) obj;这句语句是~~我在想为什么你不用P 呢?那你还转型干嘛?
还有就是你问 while 循环为什么只是循环了一遍?
这和迭代器的遍历有关,在遍历的时候相当于有一个指针,当指针指向数据尾端的时候,整个遍历也就完了,只是一边,如果,你想遍历多遍的话,可以重新先把该迭代器存起来,当到达尾部是在重新赋值即可.还可以使用双向迭代器 |