zoukankan      html  css  js  c++  java
  • arraylist linkedlist性能测试

      

    import java.util.ArrayList;
    import java.util.LinkedList;
    import java.util.List;
    import java.util.Random;
    
    import java.util.List;
    import java.util.ArrayList;
    import java.util.LinkedList;
    import java.util.Date;
    
    public class TestList {
    
    	public static void main(String[] args) {
    		List<Integer> arrayList = new ArrayList<Integer>();
    		List<Integer> linkList = new LinkedList<Integer>();
    		insertTest(linkList);// 2 ms
    		insertTest(arrayList);// 977 ms
    		getTest(linkList);// 2475 ms
    		getTest(arrayList);// 3 ms
    
    	}
    
    	public static void insertTest(List<Integer> list) {
    		for (int i = 0; i < 5000; i++) {// 创建数据表
    			for (int j = 1; j < 1000; j++) {
    				list.add(i + j);
    			}
    		}
    		Long begin = new Date().getTime();
    		for (int i = 3; i < 1000; i += 3) {// 插入数据
    			list.add(i, i);
    		}
    		Long end = new Date().getTime();
    		System.out.println("cost : " + (end - begin) + " ms");
    		System.out.println("number:" + list.size());
    	}
    
    	public static void getTest(List<Integer> list) {
    		for (int i = 0; i < 5000; i++) {// 创建数据
    			for (int j = 1; j < 1000; j++) {
    				list.add(j);
    			}
    		}
    		Long begin = new Date().getTime();
    		for (int i = 3; i < 50000; i++) {// 插入数据
    			list.get(i);
    		}
    		Long end = new Date().getTime();
    		System.out.println("cost : " + (end - begin) + " ms");
    		System.out.println("number:" + list.size());
    	}
    
    	/**
    	 * 总结: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
    	 * 2.对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList要移动指针。
    	 * 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据
    	 **/
    
    }
    

      

    --希望是生命的瑰丽朝霞,我们应当在希望中生活,并在希望中奋进,去开拓我们的人生之路。
  • 相关阅读:
    (转载)悟透JavaScript
    (转载)详解Javascript中prototype属性(推荐)
    A股委托类型
    深交所开盘步骤
    转:SpringMVC 4.1 新特性(二)内容协商视图
    Fidessa
    Spring框架是一种非侵入式的轻量级框架
    在Spring中配置jdbc为什么不能用${username}问题
    windows安装mysql
    新股定价谁说了算?一文读懂中国IPO询价制度
  • 原文地址:https://www.cnblogs.com/nulisaonian/p/5993575.html
Copyright © 2011-2022 走看看