• ArrayList与LinkedList性能比较


    ArrayList

     1 package com.lv.study.pm.first;
     2 
     3 import java.util.ArrayList;
     4 import java.util.LinkedList;
     5 import java.util.List;
     6 
     7 import org.omg.Messaging.SyncScopeHelper;
     8 /*
     9  * 当我们顺序插入数据的时候 我们ArrayList的效率比LinkedList要好
    10  * 
    11  * 指定位置插入
    12  * 
    13  */
    14 public class Test5 {
    15 
    16     public static void main(String[] args) {
    17 
    18         //ArrayList LinkedList
    19         // 1 查询
    20         // 2 删除 添加
    21         List<Integer>alist=new ArrayList<Integer>();
    22         addElm(alist);
    23         
    24         
    25         List<Integer>llist=new LinkedList<Integer>();
    26         addElm(llist);
    27         
    28     }
    29     
    30     //添加10000000个元素
    31     static int size=10000000;
    32     public static void addElm(List<Integer> list){
    33         //进入方法的时候,记录一下时间
    34         long start=System.currentTimeMillis();
    35         
    36         
    37         for (int i = 0; i < size; i++) {
    38             
    39             list.add(i);
    40         }
    41         //运行完成 出方法的时候记录一下时间
    42         long end=System.currentTimeMillis();
    43         
    44         System.out.println(list.getClass()+"添加"+size+"个元素耗费"+(end-start)+"ms");
    45         
    46     }
    47 
    48 }

    LinkedList

     1 package com.lv.study.pm.first;
     2 
     3 import java.util.ArrayList;
     4 import java.util.LinkedList;
     5 import java.util.List;
     6 
     7 import org.omg.Messaging.SyncScopeHelper;
     8 
     9 /*
    10  * 在指定位置进行插入数据LinkedList要比 ArrayList的效率高的多
    11  * 
    12  */
    13 public class Test6 {
    14 
    15     public static void main(String[] args) {
    16 
    17         List<Integer>alist=new ArrayList<Integer>();
    18         addElm(alist);
    19         
    20         
    21         List<Integer>llist=new LinkedList<Integer>();
    22         addElm(llist);
    23         
    24     }
    25     
    26     //添加10000000个元素
    27     static int size=10000;
    28     public static void addElm(List<Integer> list){
    29         //进入方法的时候,记录一下时间
    30         long start=System.currentTimeMillis();
    31         
    32         
    33         for (int i = 0; i < size; i++) {
    34             
    35             //list.add(i);//按照顺序插入
    36             list.add(0, i);//在指定的下标,插入改元素
    37             //每次都把这个新的元素插入在第一个
    38         }
    39         //运行完成 出方法的时候记录一下时间
    40         long end=System.currentTimeMillis();
    41         
    42         System.out.println(list.getClass()+"添加"+size+"个元素耗费"+(end-start)+"ms");
    43         
    44     }
    45 
    46 }

  • 相关阅读:
    [转]怎么把一个textview的背景图片设置成圆角的?
    [转]android 自定义圆形imageview控件
    [转]Android网格视图(GridView)
    简单研究Android View绘制二 LayoutParams
    简单研究Android View绘制一 测量过程
    优雅的处理Android数据库升级的问题
    DownloadManager补漏
    [转载]一个简单的内存缓存实现--一段漂亮的代码
    Java设计模式系列3--抽象工厂模式(Abstract Factory Method)
    Java设计模式系列2--工厂方法模式(Factory Method)
  • 原文地址:https://www.cnblogs.com/dabu/p/12422773.html
Copyright © 2020-2023  润新知