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

原创 2015年04月23日 10:25:40

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;
  
 }
 
}

 

 

posted @ 2018-02-07 10:12  sky20080101  阅读(139)  评论(0)    收藏  举报