话不多少,直接上代码

import java.text.SimpleDateFormat;
import java.util.*;

public class testList {
public static void main(String[] args) {

testLinkedList_ArrayList_Array_SetAsInt();
testLinkedList_ArrayList_Array_SetAsString();
testLinkedList_ArrayList_Array_SetAsStringAsToValueOf();
}

public static void testLinkedList_ArrayList_Array_SetAsInt(){
//下面是不用的数据类型循环100W次的测试代码(基本类型和引用类型的差别很大,下面使用的都是int类型)
System.out.println("下面是不同的数据类型循环100W次的测试代码(基本类型和引用类型的差别很大,下面使用的都是int类型)");
long startL= new Date().getTime();
LinkedList<Integer> list = new LinkedList<Integer>();
for (int i = 0; i < 1000000; i++) {
//list.add(String.valueOf(i));
list.add(i);
}
long endL = new Date().getTime();
System.out.println("linkedList:startL:"+startL +" endL:"+endL +" 差值:" +(endL-startL) +"毫秒");
long senStrat = new Date().getTime();
List<Integer> list2 = new ArrayList<Integer>();
for (int i = 0; i < 1000000; i++) {
//list2.add(String.valueOf(i));
list2.add(i);
}
long senEndL = new Date().getTime();
System.out.println("ArrayList:startL:"+senStrat +" endL:"+senEndL +" 差值:" +(senEndL-senStrat) +"毫秒");
// System.out.println("传入的日期与今年的年份差为:" + (year - oldYear));
long thrStrat = new Date().getTime();
int[] arrInt = new int[1000000];
for (int i = 0; i <arrInt.length ; i++) {
// arrInt[i]=String.valueOf(i);
arrInt[i]= i;
}
long thrEndL = new Date().getTime();
System.out.println("int []:startL:"+thrStrat +" endL:"+thrEndL +" 差值:" +(thrEndL-thrStrat) +"毫秒");
long fouStrat = new Date().getTime();
Set<Integer> set = new HashSet<>();
for (int i = 0; i < 1000000; i++) {
set.add(i);
}
long fouEndL = new Date().getTime();
System.out.println("Set:startL:"+fouStrat +" endL:"+fouEndL +" 差值:" +(fouEndL-fouStrat) +"毫秒");
}

public static void testLinkedList_ArrayList_Array_SetAsString(){
//下面是不用的数据类型循环100W次的测试代码(基本类型和引用类型的差别很大,下面使用的都是String类型)
System.out.println("下面是不同的数据类型循环100W次的测试代码(下面使用的都是String类型,为了减少装箱直接使用:dd)");
long startL= new Date().getTime();
LinkedList<String> list = new LinkedList<String>();
for (int i = 0; i < 1000000; i++) {
list.add("dd");

}
long endL = new Date().getTime();
System.out.println("linkedList:startL:"+startL +" endL:"+endL +" 差值:" +(endL-startL) +"毫秒");
long senStrat = new Date().getTime();
List<String> list2 = new ArrayList<String>();
for (int i = 0; i < 1000000; i++) {
//list2.add(String.valueOf(i));
list2.add("dd");
}
long senEndL = new Date().getTime();
System.out.println("ArrayList:startL:"+senStrat +" endL:"+senEndL +" 差值:" +(senEndL-senStrat) +"毫秒");
// System.out.println("传入的日期与今年的年份差为:" + (year - oldYear));
long thrStrat = new Date().getTime();
String[] arrInt = new String[1000000];
for (int i = 0; i <arrInt.length ; i++) {
// arrInt[i]=String.valueOf(i);
arrInt[i]="dd";
}
long thrEndL = new Date().getTime();
System.out.println("String []:startL:"+thrStrat +" endL:"+thrEndL +" 差值:" +(thrEndL-thrStrat) +"毫秒");
long fouStrat = new Date().getTime();
Set<String> set = new HashSet<>();
for (int i = 0; i < 1000000; i++) {
set.add("dd");
}
long fouEndL = new Date().getTime();
System.out.println("Set:startL:"+fouStrat +" endL:"+fouEndL +" 差值:" +(fouEndL-fouStrat) +"毫秒");
}

public static void testLinkedList_ArrayList_Array_SetAsStringAsToValueOf(){
//下面是不用的数据类型循环100W次的测试代码(基本类型和引用类型的差别很大,下面使用的都是String类型)
System.out.println("下面是不同的数据类型循环100W次的测试代码(下面使用的都是String类型,使用装箱String.Values())");
long startL= new Date().getTime();
LinkedList<String> list = new LinkedList<String>();
for (int i = 0; i < 10000000; i++) {
list.add(String.valueOf(i));

}
long endL = new Date().getTime();
System.out.println("linkedList:startL:"+startL +" endL:"+endL +" 差值:" +(endL-startL) +"毫秒");
long senStrat = new Date().getTime();
List<String> list2 = new ArrayList<String>();
for (int i = 0; i < 10000000; i++) {
//list2.add(String.valueOf(i));
list2.add(String.valueOf(i));
}
long senEndL = new Date().getTime();
System.out.println("ArrayList:startL:"+senStrat +" endL:"+senEndL +" 差值:" +(senEndL-senStrat) +"毫秒");
// System.out.println("传入的日期与今年的年份差为:" + (year - oldYear));
long thrStrat = new Date().getTime();
String[] arrInt = new String[10000000];
for (int i = 0; i <arrInt.length ; i++) {
// arrInt[i]=String.valueOf(i);
arrInt[i]=String.valueOf(i);
}
long thrEndL = new Date().getTime();
System.out.println("String []:startL:"+thrStrat +" endL:"+thrEndL +" 差值:" +(thrEndL-thrStrat) +"毫秒");
long fouStrat = new Date().getTime();
Set<String> set = new HashSet<>();
for (int i = 0; i < 10000000; i++) {
set.add(String.valueOf(i));
}
long fouEndL = new Date().getTime();
System.out.println("Set:startL:"+fouStrat +" endL:"+fouEndL +" 差值:" +(fouEndL-fouStrat) +"毫秒");
}
}

执行结果如下:

下面是不同的数据类型循环100W次的测试代码(基本类型和引用类型的差别很大,下面使用的都是int类型)
linkedList:startL:1578973503867 endL:1578973503901 差值:34毫秒
ArrayList:startL:1578973503901 endL:1578973503953 差值:52毫秒
int []:startL:1578973503953 endL:1578973503954 差值:1毫秒
Set:startL:1578973503954 endL:1578973504079 差值:125毫秒
下面是不同的数据类型循环100W次的测试代码(下面使用的都是String类型,为了减少装箱直接使用:dd)
linkedList:startL:1578973504079 endL:1578973504100 差值:21毫秒
ArrayList:startL:1578973504100 endL:1578973504114 差值:14毫秒
String []:startL:1578973504114 endL:1578973504117 差值:3毫秒
Set:startL:1578973504117 endL:1578973504145 差值:28毫秒
下面是不同的数据类型循环100W次的测试代码(下面使用的都是String类型,使用装箱String.Values())
linkedList:startL:1578973504145 endL:1578973504285 差值:140毫秒
ArrayList:startL:1578973504285 endL:1578973504798 差值:513毫秒
String []:startL:1578973504798 endL:1578973504847 差值:49毫秒
Set:startL:1578973504847 endL:1578973505009 差值:162毫秒

java中LinkedList ArrayList 数组 HashSet 存储数据测试的更多相关文章

  1. 为什么 char 数组比 Java 中的 String 更适合存储密码?

    另一个基于 String 的棘手 Java 问题,相信我只有很少的 Java 程序员可以正确回答这个问题.这是一个真正艰难的核心Java面试问题,并且需要对 String 的扎实知识才能回答这个问题. ...

  2. 在Java中怎样把数组转换为ArrayList?

    翻译自:How to Convert Array to ArrayList in Java? 本文分析了Stack Overflow上最热门的的一个问题的答案,提问者获得了很多声望点,使得他得到了在S ...

  3. 浅谈Java语言中ArrayList和HashSet的区别

    Java语言中ArrayList和HashSet的区别 2019-04-10   13:22:49 一.基本区别 首先一起看个实例,其代码如下: package com.MrZ_baby.com; i ...

  4. 实现Java中的ArrayList

    最近深受轮子哥影响,觉得造一些轮子应该会对自己的技术功底有一定的帮助,就决定先从简单的容器开始实现.废话不多说,就先实现一个Java中的ArrayList. ArrayList是我们在Java中使用非 ...

  5. 【Java必修课】ArrayList与HashSet的contains方法性能比较(JMH性能测试)

    1 简介 在日常开发中,ArrayList和HashSet都是Java中很常用的集合类. ArrayList是List接口最常用的实现类: HashSet则是保存唯一元素Set的实现. 本文主要对两者 ...

  6. 转载-Java中LinkedList的一些方法—addFirst addFirst getFirst geLast removeFirst removeLast

    Java中LinkedList的一些方法—addFirst addFirst getFirst geLast removeFirst removeLast 版权声明:本文为博主原创文章,遵循CC 4. ...

  7. Java中创建泛型数组

    Java中创建泛型数组 使用泛型时,我想很多人肯定尝试过如下的代码,去创建一个泛型数组 T[] array = new T[]; 当我们写出这样的代码时编译器会报Cannot create a gen ...

  8. java中的基本数据类型一定存储在栈中吗?

    首先说明,"java中的基本数据类型一定存储在栈中的吗?”这句话肯定是错误的. 下面让我们一起来分析一下原因: 基本数据类型是放在栈中还是放在堆中,这取决于基本类型在何处声明,下面对数据类型 ...

  9. 深入理解java中的ArrayList和LinkedList

    杂谈最基本数据结构--"线性表": 表结构是一种最基本的数据结构,最常见的实现是数组,几乎在每个程序每一种开发语言中都提供了数组这个顺序存储的线性表结构实现. 什么是线性表? 由0 ...

随机推荐

  1. Redis OM .NET Redis对象映射框架

    Redis OM Redis OM 是 Redis 官方推出的对象映射框架,即:Object Mapping.让开发人员更简单.方便的操作 Redis 数据.Redis 存储的数据抽象为对象映射,支持 ...

  2. Docker_安装和卸载(2)

    1.检查是否安装docker docker -v 下图为已安装docker的结果 下图为未安装docker的结果 2.卸载docker 查看已安装的版本 yum list installed | gr ...

  3. vs2017 winform 组件 -- 总结

    1.ComboBox  [下拉框] (1) 添加选项 this.[控件名].Items.Add("内容") (2)设置下拉框 自动完成 模式 和 数据源 this.[控件名].Au ...

  4. NIO【同步非阻塞io模型】关于 文件io 的总结

    1.前言 这一篇随笔是写 NIO 关于文件输入输出的总结 /* 总结: 1.io操作包括 socket io ,file io ; 2.在nio模型,file io使用fileChannel 管道 , ...

  5. 第10组 Beta冲刺 (2/5)

    1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/14015412.html ·作业博客:https://edu.cnblogs.co ...

  6. RHCSA 第一天

    1.修改主机名: 查看主机名 2.查看日期 使用指定格式输出日期 YY-mm-DD HH:MM:SS 3.将"We are learning RHCSA"输出在屏幕上 4.使用ti ...

  7. 《剑指offer》面试题57 - II. 和为s的连续正数序列

    问题描述 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数). 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列. 示例 1: 输入:target ...

  8. 《剑指offer》面试题67. 把字符串转换成整数

    问题描述 写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数.   首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. ...

  9. [转载]Win10蓝牙设备删除后无法连接解决办法

    转自 https://blog.csdn.net/Tokeyman/article/details/86268005 现象 一般情况下,当操作系统无法与蓝牙设备,比如鼠标键盘等出现无法连接的情况,通过 ...

  10. 聊一聊如何用C#轻松完成一个SAGA分布式事务

    背景 银行跨行转账业务是一个典型分布式事务场景,假设 A 需要跨行转账给 B,那么就涉及两个银行的数据,无法通过一个数据库的本地事务保证转账的 ACID ,只能够通过分布式事务来解决. 市面上使用比较 ...