- public static ArrayList singleElement(ArrayList al)
- {
- ArrayList newAl = new ArrayList();
- Iterator it = al.iterator();
- while(it.hasNext())
- {
- Object obj = it.next();//第7行。
- //楼主知道it.next()返回的是元素的值吧,用obj把这个值记住,方便对其进行操作。
- //如果不用obj把这个值记住,那么代码如下
- /*
- if(!newAl.contains(it.next())//第11行。这样就再次调用了it.next()方法,这个it.next()返回的元素,
- 与第7行中的it.next()返回的元素是不一样,第11行调用的it.next()方法返回的 是第7行中的方法返回元素的下一个元素!
- newAl.add(it.next());返回值是第11行方法返回值的下一个元素。
- */
- //所以在第7行中把元素的值记住,这样方便对其进行操作。
- if(!newAl.contains(obj)) //操作的是第7行方法返回的元素。
- newAl.add(obj);//操作的是第7行方法返回的元素
- }
- return newAl;
- }
复制代码 |