LinkedList链表的遍历(迭代器遍历和get循环遍历)
package oj.test; import java.util.*; public class Demo4 { /** * @LinkedList链表的遍历 */ public static void main(String[] args) { // LinkedList<Student> link = new LinkedList<Student>(); for (int k = 1; k <= 10; k++) { link.add(new Student("i am", k)); } //--------------------------------------- Iterator<Student> it = link.iterator(); long time1 = System.currentTimeMillis(); long time2 = System.currentTimeMillis(); String result1=null; //--------- --------- ------------------ time1 = System.currentTimeMillis(); while (it.hasNext()) { Student s = it.next(); sop(s); } time2 = System.currentTimeMillis(); result1="使用迭代器遍历用时:" + (time2 - time1) + "毫秒"; sop(result1); sop("--------------------------------------"); //--------- --------- ------------------ it = link.iterator(); time1 = System.currentTimeMillis(); while (it.hasNext()) { Student s = it.next(); sop(s); } time2 = System.currentTimeMillis(); result1="使用迭代器遍历用时:" + (time2 - time1) + "毫秒"; sop(result1); sop("--------------------------------------"); //--------- --------- ------------------ it = link.iterator(); time1 = System.currentTimeMillis(); while (it.hasNext()) { Student s = it.next(); sop(s); } time2 = System.currentTimeMillis(); result1="使用迭代器遍历用时:" + (time2 - time1) + "毫秒"; sop(result1); sop("--------------------------------------"); //----------------------------------------- time1 = System.currentTimeMillis(); for (int i = 0; i < link.size(); i++) { Student s2 = link.get(i); sop(s2); } time2 = System.currentTimeMillis(); sop("使用get遍历用时:" + (time2 - time1) + "毫秒"); sop("--------------------------------------"); //----------------------------------------- } public static void sop(Object obj) { System.out.println(obj); } } class Student { String name; int number; Student(String name, int number) { this.name = name; this.number = number; } public String toString(){ return String.format("name:%s,number:%d", name,number); } }
name:i am,number:1 name:i am,number:2 name:i am,number:3 name:i am,number:4 name:i am,number:5 name:i am,number:6 name:i am,number:7 name:i am,number:8 name:i am,number:9 name:i am,number:10 使用迭代器遍历用时:16毫秒 -------------------------------------- name:i am,number:1 name:i am,number:2 name:i am,number:3 name:i am,number:4 name:i am,number:5 name:i am,number:6 name:i am,number:7 name:i am,number:8 name:i am,number:9 name:i am,number:10 使用迭代器遍历用时:1毫秒 -------------------------------------- name:i am,number:1 name:i am,number:2 name:i am,number:3 name:i am,number:4 name:i am,number:5 name:i am,number:6 name:i am,number:7 name:i am,number:8 name:i am,number:9 name:i am,number:10 使用迭代器遍历用时:1毫秒 -------------------------------------- name:i am,number:1 name:i am,number:2 name:i am,number:3 name:i am,number:4 name:i am,number:5 name:i am,number:6 name:i am,number:7 name:i am,number:8 name:i am,number:9 name:i am,number:10 使用get遍历用时:0毫秒 --------------------------------------
LinkedList链表的遍历(迭代器遍历和get循环遍历)
http://blog.csdn.net/lily0806/article/details/45218101
package oj.test;
import java.util.*;
public class Demo4 {
/**
* @LinkedList链表的遍历
*/
public static void main(String[] args) {
LinkedList<Student> link = new LinkedList<Student>();
for(int k=1;k<=34567;k++){
link.add(new Student("i am",k));
}
Iterator<Student> it = link.iterator();
long time1 = System.currentTimeMillis();
while(it.hasNext()){
Student s = it.next();
}
long time2 = System.currentTimeMillis();
sop("使用迭代器遍历用时:"+(time2-time1)+"毫秒");
time1 = System.currentTimeMillis();
for(int i=0;i<link.size();i++){
Student s2 = link.get(i);
}
time2 = System.currentTimeMillis();
sop("使用get遍历用时:"+(time2-time1)+"毫秒");
}
public static void sop(Object obj){
System.out.println(obj);
}
}
class Student{
String name;
int number;
Student(String name,int number){
this.name = name;
this.number = number;
}
}

浙公网安备 33010602011771号