ArrayList真的比LinkedList慢吗
来源:互联网 发布:中国高铁出口数据 编辑:程序博客网 时间:2024/04/28 06:09
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
public class WhichIsFaster
{
List<Integer> a = new ArrayList<Integer>();
List<Integer> l = new LinkedList<Integer>();
long timeStart[] = new long[2];
long timeEnd[] = new long[2];
Random r = new Random();
public void testAdd()
{
System.out.println("/n------------随机添加-----------------/n");
for (int i = 0; i < 10000; i++)
{
a.add(null);
l.add(null);
}
timeStart[0] = System.currentTimeMillis();
for (int i = 0; i < 10000; i++)
{
a.set(r.nextInt(10000), r.nextInt(10000));
}
timeEnd[0] = System.currentTimeMillis();
timeStart[1] = System.currentTimeMillis();
for (int i = 0; i < 10000; i++)
{
l.set(r.nextInt(10000),r.nextInt(10000));
}
timeEnd[1] = System.currentTimeMillis();
System.out.println("ArrayList 用时/t:" + (timeEnd[0] - timeStart[0]));
System.out.println("LinkedList 用时/t:" + (timeEnd[1] - timeStart[1]));
}
public void testGet()
{
System.out.println("/n------------随机存取-----------------/n");
timeStart[0] = System.currentTimeMillis();
for (int i = 0; i < 100000; i++)
{
a.get(r.nextInt(10000));
}
timeEnd[0] = System.currentTimeMillis();
timeStart[1] = System.currentTimeMillis();
for (int i = 0; i < 100000; i++)
{
l.get(r.nextInt(10000));
}
timeEnd[1] = System.currentTimeMillis();
System.out.println("ArrayList 用时/t:" + (timeEnd[0] - timeStart[0]));
System.out.println("LinkedList 用时/t:" + (timeEnd[1] - timeStart[1]));
}
public void testDel()
{
System.out.println("/n------------随机删除-----------------/n");
timeStart[0] = System.currentTimeMillis();
for (int i = 0; i < 1000; i++)
{
a.remove(r.nextInt(a.size()));
}
timeEnd[0] = System.currentTimeMillis();
timeStart[1] = System.currentTimeMillis();
for (int i = 0; i < 10000; i++)
{
l.remove(r.nextInt(l.size()));
}
timeEnd[1] = System.currentTimeMillis();
System.out.println("ArrayList 用时/t:" + (timeEnd[0] - timeStart[0]));
System.out.println("LinkedList 用时/t:" + (timeEnd[1] - timeStart[1]));
}
public static void main(String[] args)
{
WhichIsFaster t = new WhichIsFaster();
t.testAdd();
t.testGet();
t.testDel();
}
// 把100000换成10000试一试
}
===================================================================
------------随机添加-----------------
ArrayList 用时 :0
LinkedList 用时 :94
------------随机存取-----------------
ArrayList 用时 :0
LinkedList 用时 :1656
------------随机删除-----------------
ArrayList 用时 :32
LinkedList 用时 :78
- ArrayList真的比LinkedList慢吗
- LinkedList 增删真的比ArrayList快吗?
- LinkedList查找为什么比ArrayList慢
- Java史上最大误解,你真的以为LinkedList比ArrayList增删快?
- linkedlist比ArrayList优点
- python真的比C/C++"慢"吗?
- java中的ArrayList和LinkedList的二分查找速度比
- 你真的说的清楚ArrayList和LinkedList的区别吗
- exists子查询真的就比连接查询慢吗?
- ArrayList,LinkedList的区别
- ArrayList,LinkedList的对比
- Java学习之为什么说LinkedList的插入和删除性能比ArrayList好,而ArrayList的查询更好?
- linkedlist和arraylist的区别
- Vector ArrayList LinkedList 的比较
- ArrayList和LinkedList的区别
- ArrayList和LinkedList的区别
- ArrayList,LinkedList,Vector的区别
- ArrayList与LinkedList的差别
- Android源码开发 - eclipse
- 我的一个程序,希望有人帮我修改一下,我不知道怎么操作?代码是没错的,只是不知道为什么加密不了?摆脱java高手了
- 求集合的幂集
- Ubuntu重装windows系统后的grub引导修复(Ubuntu10.04测试通过)
- sql如何写数据库连接语句,默认方式链接数据库
- ArrayList真的比LinkedList慢吗
- karrigell配置说明
- 避开绑定变量的弱点的一个经典解决方案——《Oracle高效设计》学习笔记
- 设计模式之(二十二)访问者模式(visitor)
- thinkphp 模板参数
- Joomla组件学习之后台com_banners组件-效果
- jquery1.4+VS2010+linq+ajax 品牌和型号下拉列表二级联动
- 《Spring 2.0技术手册》 读书笔记七-Spring的DAO框架(1)-原理与DataSource注入
- 从头开始