LinkedList链表的遍历(迭代器遍历和get循环遍历)

本文通过实现一个名为Demo4的Java类,展示如何使用迭代器和get方法遍历LinkedList链表,并对比了两种方式的性能差异。重点在于通过创建包含大量元素的链表实例,来观察不同遍历方式的时间消耗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值