Java迭代器contains的问题

功能:ArrayList去除集合中字符串的重复值(字符串的内容相同),思路:创建新集合方式。
第一种编译运行没问题,第二种写法出错,原因是不可以两次使用it.next()。
错误提示:Exception in thread "main" java.util.NoSuchElementException

public static ArrayList noRepeat2(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; }

public static ArrayList noRepeat2(ArrayList list){ ArrayList newlist = new ArrayList(); Iterator it = list.iterator(); while(it.hasNext()){ if(!newlist.contains(it.next())){ newlist.add(it.next()); } } return newlist; }

【Java迭代器contains的问题】

    推荐阅读