我是靠谱客的博主 追寻帽子,最近开发中收集的这篇文章主要介绍java黑皮书20.6----(在链表上使用遍历器)问题描述:难点分析:代码:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题描述:

提示:如果有些懵,建议先看书或者B站的链表相关内容

在链表上存储500万的整数数据分别用iterator和get(index)的方法遍历,比较时间


难点分析:

提示:这里时间我用来Date类的,其实完全可以不用,可以把Date的相关代码删除就好

下面代码创建链表:

LinkedList<Integer> linkedList = new LinkedList<>();

然后难一点的就是迭代器了,其实都是一些迭代器的基本操作:

Iterator<Integer> iterator = linkedList.iterator();
        while (iterator.hasNext()) {
            iterator.next();
        }


代码:

提示:date那个版块其实没必要,因此我把 System.currentTimeMillis()放在Date的前面的,主要还是他来计算耗费的时长。

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.LinkedList;

public class exe20_6 {
    public static void main(String[] args) {
        LinkedList<Integer> linkedList = new LinkedList<>();
        for (int i = 0; i < 5000000; i++) {
            linkedList.add((int) (Math.random() * 1000000 + 1));
        }
        long start0 = System.currentTimeMillis();
        Date date0 = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String date0str = simpleDateFormat.format(date0);
        System.out.println("迭代器开始时间:" + date0str);


        Iterator<Integer> iterator = linkedList.iterator();
        while (iterator.hasNext()) {
            iterator.next();
        }

        long end0 = System.currentTimeMillis();
        Date date1 = new Date();
        String date1str = simpleDateFormat.format(date1);
        System.out.println("迭代器结束时间:" + date1str);
        System.out.println("迭代器耗费时间:"+(end0-start0)+"ms");



        long start1 = System.currentTimeMillis();
        Date date2 = new Date();
        String date2str = simpleDateFormat.format(date2);
        System.out.println("get开始时间:" + date2str);

        for (int i = 0; i < linkedList.size(); i++) {
            linkedList.get(i);
        }

        long end1 = System.currentTimeMillis();
        Date date3 = new Date();
        String date3str = simpleDateFormat.format(date3);
        System.out.println("get结束时间:" + date3str);
        System.out.println("get耗费时间:"+(end1-start1)+"ms");
    }
}

最后

以上就是追寻帽子为你收集整理的java黑皮书20.6----(在链表上使用遍历器)问题描述:难点分析:代码:的全部内容,希望文章能够帮你解决java黑皮书20.6----(在链表上使用遍历器)问题描述:难点分析:代码:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部