ArrayList al = new ArrayList(); al.add(new Person("zhangsan",23)); al.add(new Person("lisi",22)); al.add(new Person("lisi",22)); ArrayList newAl = new ArrayList(); Iterator it = al.iterator(); while(it.hasNext()) { Object obj = it.next(); if(!newAl.contains(obj)) newAl.add(obj); } 其中if(!newAl.contains(obj))第一次执行的时候(就是newAl()还没有元素的时候)是怎么样比较的? 用的是谁的equals()方法?和什么进行比较?
当有对象进入newAl集合后,再执行的时候是不是用的传入对象obj中的equals()方法,依次和newAl()中的元素比较?
|