zoukankan      html  css  js  c++  java
  • 通过编码分别测试ArrayList 和 LinkedList 添加、删除对象时的耗时情况(精确到纳秒),并总结出以上两种集合的数据结构的不同之处。

    /**
    运行结果:
    ---------- 运行 ----------
    ArrayList添加1000个数据用时:568312纳秒
    ArrayList删除1000个数据用时:105195纳秒
    LinkedList添加1000个数据用时:325207纳秒
    LinkedList删除1000个数据用时:290250纳秒
    
    输出完成 (耗时 0 秒) - 正常终止
    分析:
    通过以上结果,我们可以看出LinkedList在对进行添加和删除的操作中,耗费时间少于ArrayList,效率上有明显的优势。
    ArrayList集合底层的数据结构是数组,所以对定向查找速度比较快
    LinkedList集合底层数据结构是链表,链表结构的特点是增删改速度比较快。
    */
    import java.util.*;
    class ListDemo 
    {
    	public static void main(String[] args) 
    	{
    		ArrayList<Integer> al = new ArrayList<Integer>();
    		long startTimeAddal = System.nanoTime();
    		for(int i=0;i<1000;i++)
    		{
    			al.add(i);
    		}
    		long endTimeAddal = System.nanoTime();
    		System.out.println("ArrayList添加1000个数据用时:" + (endTimeAddal - startTimeAddal) + "纳秒");
    		long startTimeRemoveal = System.nanoTime();
    		for(int i=999;i>=0;i--)
    		{
    			al.remove(i);
    		}
    		long endTimeRemoveal = System.nanoTime();
    		System.out.println("ArrayList删除1000个数据用时:" + (endTimeRemoveal - startTimeRemoveal) + "纳秒");
    
    		LinkedList<Integer> ll = new LinkedList<Integer>();
    		long startTimeAddll = System.nanoTime();
    		for(int i=0;i<1000;i++)
    		{
    			ll.add(i);
    		}
    		long endTimeAddll = System.nanoTime();
    		System.out.println("LinkedList添加1000个数据用时:" + (endTimeAddll - startTimeAddll) + "纳秒");
    		long startTimeRemovell = System.nanoTime();
    		for(int i=999;i>=0;i--)
    		{
    			ll.remove(i);
    		}
    		long endTimeRemovell = System.nanoTime();
    		System.out.println("LinkedList删除1000个数据用时:" + (endTimeRemovell - startTimeRemovell) + "纳秒");
    	}
    }
    

  • 相关阅读:
    ECharts 3 -- gauge表盘的配置项
    8 -- 深入使用Spring -- 1...4 属性占位符配置器
    8 -- 深入使用Spring -- 1...两种后处理器
    window.location.href
    8 -- 深入使用Spring -- 1...3 容器后处理器
    8 -- 深入使用Spring -- 1...2 Bean后处理器的用处
    8 -- 深入使用Spring -- 1...1Bean后处理器
    8 -- 深入使用Spring -- 0...
    Java NIO原理 图文分析及代码实现
    Java NIO系列教程(十二) Java NIO与IO
  • 原文地址:https://www.cnblogs.com/dengshiwei/p/4258494.html
Copyright © 2011-2022 走看看