今天练习ArrayList,遇到的问题。
大家看看这两种表示有什么不同:
public static ArrayList isEqual(ArrayList list){
//定义一个新的,用于存放不重复元素
ArrayList newlist=new ArrayList();
Iterator it=list.iterator();
while(it.hasNext()){
Object obj=it.next();
if(!newlist.contains(obj))
newlist.add(obj);
}
return newlist;
}
问题来了,如果把Object obj=it.next();这句去掉,下面的改成:
if(!newlist.contains(it.next()))
newlist.add(it.next());
输出的结果会不一样,求解释? |
|