zoukankan      html  css  js  c++  java
  • java--ArrayList,LinkedList应用比较

    import java.util.ArrayList;
    import java.util.LinkedList;
    import java.util.List;
    
    public class ListDemo {
        //jdk8
        public static void main(String[] args){
    //        add("ArrayList",50000);//11
    //        add("LinkedList",50000);//8
    //        add("ArrayList",1000000);//81
    //        add("LinkedList",1000000);//132
    
    //        addFirst("ArrayList",5000);//7
    //        addFirst("LinkedList",5000);//2
    //        addFirst("ArrayList",50000);//160
    //        addFirst("LinkedList",50000);//5
    
    //        remove("ArrayList",5000);//1
    //        remove("LinkedList",5000);//2
    //        remove("ArrayList",1000000);//2
    //        remove("LinkedList",1000000);//15
    //
    
    //        removeFirst("ArrayList",5000);//5
    //        removeFirst("LinkedList",5000);//1
    //        removeFirst("ArrayList",100000);//795
    //        removeFirst("LinkedList",100000);//2
    
    //        removeMiddle("ArrayList",5000);//3
    //        removeMiddle("LinkedList",5000);//23
    //        removeMiddle("ArrayList",100000);//446
    //        removeMiddle("LinkedList",100000);//5637
        }
        public static void add(String s,int a){
            if (s.equals("ArrayList")){
                List<Object> list = new ArrayList<>();
                long begin = System.currentTimeMillis();
                for (int i = 0; i < a; i++) {
                    list.add(new Object());
                }
                long end = System.currentTimeMillis();
                System.out.println(a+" "+s+":"+(end - begin));
            }else {
                LinkedList<Object> list = new LinkedList<>();
                long begin = System.currentTimeMillis();
                for (int i = 0; i < a; i++) {
                    list.add(new Object());
                }
                long end = System.currentTimeMillis();
                System.out.println(a+" "+s+":"+(end - begin));
            }
        }
        public static void addFirst(String s,int a){
            if (s.equals("ArrayList")){
                ArrayList<Object> list = new ArrayList<>();
                long begin = System.currentTimeMillis();
                for (int i = 0; i < a; i++) {
                    list.add(0,new Object());
                }
                long end = System.currentTimeMillis();
                System.out.println(a+" "+s+":"+(end - begin));
            }else {
                LinkedList<Object> list = new LinkedList<>();
                long begin = System.currentTimeMillis();
                for (int i = 0; i < a; i++) {
                    list.addFirst(new Object());
                }
                long end = System.currentTimeMillis();
                System.out.println(a+" "+s+":"+(end - begin));
            }
        }
        public static void remove(String s,int a){
            if (s.equals("ArrayList")){
                List<Object> list = new ArrayList<>();
                for (int i = 0; i < a; i++) {
                    list.add(i);
                }
                long begin = System.currentTimeMillis();
                for (int i = 0; i < a; i++) {
                    list.remove(list.size()-1);
                }
                long end = System.currentTimeMillis();
                System.out.println(a+" "+s+":"+(end - begin));
            } else {
                LinkedList<Object> list = new LinkedList<>();
                for (int i = 0; i < a; i++) {
                    list.add(i);
                }
                long begin = System.currentTimeMillis();
                for (int i = 0; i < a; i++) {
                    list.removeLast();
                }
                long end = System.currentTimeMillis();
                System.out.println(a+" "+s+":"+(end - begin));
            }
        }
        public static void removeFirst(String s,int a){
            if (s.equals("ArrayList")){
                List<Object> list = new ArrayList<>();
                for (int i = 0; i < a; i++) {
                    list.add(0,new Object());
                }
                long begin = System.currentTimeMillis();
                for (int i = 0; i < a; i++) {
                    list.remove(0);
                }
                long end = System.currentTimeMillis();
                System.out.println(a+" "+s+":"+(end - begin));
            } else {
                LinkedList<Object> list = new LinkedList<>();
                for (int i = 0; i < a; i++) {
                    list.add(0,new Object());
                }
                long begin = System.currentTimeMillis();
                for (int i = 0; i < a; i++) {
                    list.removeFirst();
                }
                long end = System.currentTimeMillis();
                System.out.println(a+" "+s+":"+(end - begin));
            }
        }
        public static void removeMiddle(String s,int a){
            if (s.equals("ArrayList")){
                List<Object> list = new ArrayList<>();
                for (int i = 0; i < a; i++) {
                    list.add(i);
                }
                long begin = System.currentTimeMillis();
                while (list.size()>0){
                    list.remove(list.size()>>1);//右移/2,左移*2
                }
                long end = System.currentTimeMillis();
                System.out.println(a+" "+s+":"+(end - begin));
            } else {
                LinkedList<Object> list = new LinkedList<>();
                for (int i = 0; i < a; i++) {
                    list.add(i);
                }
                long begin = System.currentTimeMillis();
                while (list.size()>0){
                    list.remove(list.size()>>1);//右移/2,左移*2
                }
                long end = System.currentTimeMillis();
                System.out.println(a+" "+s+":"+(end - begin));
            }
        }
    }
    
    
  • 相关阅读:
    Spring事务
    org.apache.catalina.webresources.Cache.getResource Unable to add the resource
    CentOS7下zip解压和unzip压缩文件
    通过Maven插件发布JaveEE项目到tomcat下
    MYSQL5.7版本sql_mode=only_full_group_by问题
    CentOS下安装Tomcat
    MYSQL57密码策略修改
    CentOS下安装mysql5.7和mysql8.x
    Linux下使用systemctl命令
    076-PHP数组修改元素值
  • 原文地址:https://www.cnblogs.com/fly-book/p/11344009.html
Copyright © 2011-2022 走看看