废话不多说,原因不解释。上測试代码:

package com.letv.cloud.cdn.jtest;

import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.TimeUnit; import org.slf4j.LoggerFactory; import com.google.common.base.Stopwatch; public class JtestMain { private final static org.slf4j.Logger LOGGER = LoggerFactory.getLogger("JtestMain"); private static Stopwatch stopWatch = new Stopwatch(); public static void testList(int num){
List<String> aList = new ArrayList<String>();
List<String> lList = new LinkedList<String>();
stopWatch.reset();
stopWatch.start();
for(int i=0; i<num; i++){
aList.add("201411180827 cctv5_800 83 796.03 115.182.51.134 123.125.89.75 in uuid1 5");
}
LOGGER.info("insert num:{} ArrayList cost:{} ms",num,stopWatch.elapsedTime(TimeUnit.MILLISECONDS)); stopWatch.reset();
stopWatch.start();
for(int i=0; i<num; i++){
lList.add("201411180827 cctv5_800 83 796.03 115.182.51.134 123.125.89.75 in uuid1 5");
}
LOGGER.info("insert num:{} LinkedList cost:{} ms",num,stopWatch.elapsedTime(TimeUnit.MILLISECONDS));
} public static void main(String[] args) throws InterruptedException, IOException {
int[] nums = {10000,10 * 10000,100 * 10000, 1000 * 10000, 10000 * 10000}; for(int i=0; i<nums.length; i++){
testList(nums[i]);
}
}
}

測试结果:

 INFO [main] (JtestMain.java:65) 11:50:47,480 -- insert num:10000 ArrayList cost:2 ms
INFO [main] (JtestMain.java:72) 11:50:47,484 -- insert num:10000 LinkedList cost:1 ms
INFO [main] (JtestMain.java:65) 11:50:47,490 -- insert num:100000 ArrayList cost:5 ms
INFO [main] (JtestMain.java:72) 11:50:47,495 -- insert num:100000 LinkedList cost:5 ms
INFO [main] (JtestMain.java:65) 11:50:47,504 -- insert num:1000000 ArrayList cost:8 ms
INFO [main] (JtestMain.java:72) 11:50:47,515 -- insert num:1000000 LinkedList cost:11 ms
INFO [main] (JtestMain.java:65) 11:50:47,606 -- insert num:10000000 ArrayList cost:89 ms
INFO [main] (JtestMain.java:72) 11:50:49,335 -- insert num:10000000 LinkedList cost:1729 ms
INFO [main] (JtestMain.java:65) 11:50:50,290 -- insert num:100000000 ArrayList cost:954 ms
INFO [main] (JtestMain.java:72) 11:51:14,263 -- insert num:100000000 LinkedList cost:23973 ms

LinkedList,ArrayList末尾插入谁效率高?的更多相关文章

  1. IT题库2-LinkList和ArrayList(插入数据、末尾插入数据、不同数据量插入数据)的效率?

    ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references).ArrayList是List接口的一个实现类,它的特点是查询效率高,增删效率低,线程不安全,原因 ...

  2. ArrayList和LinkedList插入删除效率的测试(完全不在一个数量级8/20)

    通过index获取元素的值 java里面的链表可以添加索引,而C中的链表,是没有索引的 package ArrayListVSLinkedList; import java.util.ArrayLis ...

  3. Java 集合系列08之 List总结(LinkedList, ArrayList等使用场景和性能分析)

    概要 前面,我们学完了List的全部内容(ArrayList, LinkedList, Vector, Stack). Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例 Ja ...

  4. Java 集合系列 07 List总结(LinkedList, ArrayList等使用场景和性能分析)

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  5. 【转】Java 集合系列08之 List总结(LinkedList, ArrayList等使用场景和性能分析)

    概要 前面,我们学完了List的全部内容(ArrayList, LinkedList, Vector, Stack). Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例 Ja ...

  6. LinkedList,ArrayList,Vector,HashMap,HashSet,HashTable之间的区别与联系

    在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList. ...

  7. JDBC批量插入数据效率分析

    对于需要批量插入数据库操作JDBC有多重方式,本利从三个角度对Statement和PreparedStatement两种执行方式进行分析,总结较优的方案. 当前实现由如下条件: 执行数据库:Mysql ...

  8. oracle运行速度与效率高的秘密

    使用过Oracle的人都知道,Oracle的运行速度与效率,在同类数据库中是名列前茅的,特别是对大量数据进行访问时,更加有出色的表现.那么,Oracle数据库是靠什么实现的呢?笔者下面将通过一系列的文 ...

  9. Jedis使用管道优化批量输出插入的效率

    Jedis连接池: package com.daxin.jedis_datastructure; /** * * @author daxin * * @email leodaxin@163com * ...

随机推荐

  1. MySQL 批量插入值

    MySQL 批量插入值 今天遇到个问题,需要从类似以下语句中的各个小括号[其实也有中括号等]抽取相关字段进行组合[相关规则,此处略去不提],并保存到数据库中,此时如果每次插入一条,会连续进行多次插入, ...

  2. CF 436D 最小生成树

    设一个开头的虚节点,然后建稠密图,O(n^2).使用prim.O(n^2),保存方案,没什么好说的. #include <string.h> #include <stdio.h> ...

  3. C# linq学习【转】

    在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在fore ...

  4. JVM 优化之逃逸分析

    整理自 周志明<深入JVM> 1, 是JVM优化技术,它不是直接优化手段,而是为其它优化手段提供依据. 2,逃逸分析主要就是分析对象的动态作用域. 3,逃逸有两种:方法逃逸和线程逃逸.   ...

  5. nagios 插件ndoutils 安装配置

    nagios 插件ndoutils 安装配置 原文地址:http://www.cnblogs.com/caoguo/p/5022645.html # Nagios install ndoutils # ...

  6. 发布自己的nuget包

    1.先到www.nuget.org注册账户,然后在用户中心获取apikey 2.到https://dist.nuget.org/index.html下载最新的nuget.exe,放到你的项目根目录下 ...

  7. 三年半Java后端面试鹅厂,三面竟被虐的体无完肤

    经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于开始重拾面试信心,再次出征. 鹅厂 面试职位: go后端开发工程师,接受从Java转语言 都知道鹅厂是cpp的主战场,而以cpp为背 ...

  8. todey

    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> 框架集fromset ...

  9. Python 不定长参数、全局变量、局部变量 day4

    一.不定长参数 在函数定义中,经常会碰到*args 和**kwargs作为参数. 事实上在函数中,*和**才是必要的,args和kwargs可以用其他名称代替 *args 是指不定数量的非键值对参数. ...

  10. git clone下载代码,中途断掉怎么办?

    问题如下: 解决办法: 1)运行以下命令进行clone $ git clone --recursive https:xxxxxx 2)进入项目根目录,继续下载 $ cd eigen-git-mirro ...