zoukankan      html  css  js  c++  java
  • LinkedList和ArrayList区别

     查询

        LinkedList查询用的遍历,AyyayList查询用的是数组下标,所以对于查询ArrayList性能高于LinkedList

        新增

        新增在末尾或者中间就是ArrayList比LinkedList快,如果在最前面就是LinkedList比ArrayList快

        测试一下新增在末尾

        public static void main(String[] args){
              int flag = 100000;

              ArrayList aList = new ArrayList(flag);

              LinkedList lList = new LinkedList();
              Long start1 = System.currentTimeMillis();
              for(int i=0; i<flag;i++)
                   aList.add("a");
              System.out.println(System.currentTimeMillis() - start1);
              Long start2 = System.currentTimeMillis();
              for(int i=0; i<flag;i++)
                    lList.add("a");
              System.out.println(System.currentTimeMillis() - start2);
        }

        测试一下新增在中间


        public static void main(String[] args){
              int flag = 10000;
              ArrayList aList = new ArrayList(flag);
              LinkedList lList = new LinkedList();
              Long start1 = System.currentTimeMillis();
              for(int i=0; i<flag;i++){
                   if(i < flag / 2)
                        aList.add("a");
                   else
                        aList.add(flag / 2, "a");}
              System.out.println(System.currentTimeMillis() - start1);
              Long start2 = System.currentTimeMillis();
               for(int i=0; i<flag;i++){
                   if(i < flag / 2)
                             lList.add("a");
                   else
                            lList.add(flag / 2, "a");}
              System.out.println(System.currentTimeMillis() - start2);
        }
        

        测试一下新增在开始

        
        public static void main(String[] args){
               int flag = 10000;
               ArrayList aList = new ArrayList(flag);
               LinkedList lList = new LinkedList();
                Long start1 = System.currentTimeMillis();
                 for(int i=0; i<flag;i++){
                       aList.add(0 ,"a");
                  }
                System.out.println(System.currentTimeMillis() - start1);
                Long start2 = System.currentTimeMillis();
                for(int i=0; i<flag;i++){
                       lList.add(0 ,"add");
                   }
                System.out.println(System.currentTimeMillis() - start2);
        }

        修改

        修改在末尾或者中间就是ArrayList比LinkedList快,如果在最前面就是LinkedList比ArrayList快

         删除

        删除ArrayList比LinkedList快

  • 相关阅读:
    k8s学习笔记之五:Pod资源清单spec字段常用字段及含义
    k8s学习笔记之四:资源清单定义入门
    k8s学习笔记之三:k8s快速入门
    k8s学习笔记之一:kubernetes简介
    k8s学习笔记之二:使用kubeadm安装k8s集群
    centos7安装elasticsearch6.3.x集群并破解安装x-pack
    Centos6搭建sftp服务器
    底层互害模式,深契民心
    你不视我为子女,我凭什么视你为父母
    nodejs的桌面应用(electron)
  • 原文地址:https://www.cnblogs.com/jassy/p/9193062.html
Copyright © 2011-2022 走看看