import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedList;public class CollectionTest1 {
public static void main(String[] args) {
LinkedList list=new LinkedList();
list.add(new Long(-1));
list.add(new Long(9));
list.add(new Long(8));
list.add(new Long(-19));
Comparator c=Collections.reverseOrder();
Collections.sort(list, c);
Iterator itr=list.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
Collections.shuffle(list);
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
只打印一次结果,但是我期待的结果是两次,没报错和异常,求解答
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedList;public class CollectionTest1 {
public static void main(String[] args) {
LinkedList list=new LinkedList();
list.add(new Long(-1));
list.add(new Long(9));
list.add(new Long(8));
list.add(new Long(-19));
Comparator c=Collections.reverseOrder();
Collections.sort(list, c);
Iterator itr=list.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
Collections.shuffle(list);
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
只打印一次结果,但是我期待的结果是两次,没报错和异常,求解答
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedList;public class CollectionTest1 {
public static void main(String[] args) {
LinkedList list=new LinkedList();
list.add(new Long(-1));
list.add(new Long(9));
list.add(new Long(8));
list.add(new Long(-19));
Comparator c=Collections.reverseOrder();
Collections.sort(list, c);
Iterator itr=list.iterator();while(itr.hasNext()){
System.out.println(itr.next());
} //此时已经遍历完所有的list,迭代器的已经指向最后一个。如果还用此迭代器,将取不到数据
Collections.shuffle(list);
itr=list.iterator(); //需要再取得它的迭代器
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}