zoukankan      html  css  js  c++  java
  • 对比数组、链表时间复杂度

    import java.util.ArrayList;
    import java.util.LinkedList;
    
    /**
     * Created by Roni on 2020/2/7.
     */
    public class Solution {
        public static void main(String[] args) {
    
            ArrayList arrayList = new ArrayList();
            LinkedList linkedList = new LinkedList();
    // ArrayList add
            long startTime = System.nanoTime();
            for (int i = 0; i < 100000; i++) {
                arrayList.add(i);
            }
            long endTime = System.nanoTime();
            long duration = endTime - startTime;
            System.out.println("ArrayList add:  " + duration);
    // LinkedList add
            startTime = System.nanoTime();
            for (int i = 0; i < 100000; i++) {
                linkedList.add(i);
            }
            endTime = System.nanoTime();
            duration = endTime - startTime;
            System.out.println("LinkedList add: " + duration);
    // ArrayList get
            startTime = System.nanoTime();
            for (int i = 0; i < 10000; i++) {
                arrayList.get(i);
            }
            endTime = System.nanoTime();
            duration = endTime - startTime;
            System.out.println("ArrayList get:  " + duration);
    // LinkedList get
            startTime = System.nanoTime();
            for (int i = 0; i < 10000; i++) {
                linkedList.get(i);
            }
            endTime = System.nanoTime();
            duration = endTime - startTime;
            System.out.println("LinkedList get: " + duration);
    // ArrayList remove
            startTime = System.nanoTime();
            for (int i = 9999; i >=0; i--) {
                arrayList.remove(i);
            }
            endTime = System.nanoTime();
            duration = endTime - startTime;
            System.out.println("ArrayList remove:  " + duration);
    // LinkedList remove
            startTime = System.nanoTime();
            for (int i = 9999; i >=0; i--) {
                linkedList.remove(i);
            }
            endTime = System.nanoTime();
            duration = endTime - startTime;
            System.out.println("LinkedList remove: " + duration);
        }
    }
    

    ArrayList add: 11386000
    LinkedList add: 4355200
    ArrayList get: 89200
    LinkedList get: 76741000
    ArrayList remove: 250221100
    LinkedList remove: 72771800

  • 相关阅读:
    理解WebKit和Chromium: Web应用和Web运行环境
    理解WebKit和Chromium: 网页渲染的基本过程
    【闲谈】我的大学
    使用GDAL将下载的Google卫星图像转为带坐标的tif
    Linux下使用GDAL进行开发(automake使用)
    Linux下编译GDAL
    【Unity技巧】统一管理回调函数——观察者模式
    【Unity技巧】使用单例模式Singleton
    【Unity插件】LitJson杂谈
    理解WebKit和Chromium:Chromium资源磁盘缓存
  • 原文地址:https://www.cnblogs.com/Roni-i/p/12274898.html
Copyright © 2011-2022 走看看