话不多少,直接上代码

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. celery起动,运行有警告

    运行命令 :  celery worker -A task_log -l info: 有如下警告 2019-12-22 22:42:50,215: WARNING/MainProcess] /root ...

  2. Nginx 管理可视化神器!通过界面完成配置监控,一条龙

    作者:Posted 来源:https://leanote.zzzmh.cn/blog/post/5cc7f63616199b068300001c   https://mp.weixin.qq.com/ ...

  3. HTML相关知识入门

    HTML 注意点 html是不区分大小写的 建议包括嵌套,不要交叉嵌套 文件后缀名可以是.html或.htm 格式 <!------类似于java中类的大括号--------> <h ...

  4. 痞子衡嵌入式:在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法. 痞子衡旧文 <在IAR下将关键函数重定向到RAM中执行的方法> ...

  5. 【reverse】逆向4 初识堆栈

    [reverse]逆向4 初识堆栈 1.问题引入 假设我们需要一块内存,有如下的要求 主要用于临时存储一些数据(如果数据很少可以放入寄存器中) 能够记录存了多少数据 能够非常快速的找到某个数据 2.模 ...

  6. git 重置密码后,本地电脑需要修改git密码

    查看用户名git config user.name 查看密码git config user.password 查看邮箱git config user.email 修改密码git config --gl ...

  7. thanos receiver压测结果分享

    压测环境 k8s容器环境 单核 32GB内存 thanos版本:v0.22.0 客户端发送32271959条数据,100个并发:同样的数据文件发送了两遍,取第二遍的性能数据 在thanos recei ...

  8. 搭服务器之centos-ipv6源--配置各虚拟机系统的ipv6网络安装源。

    在2g内存的台式机里安装了三台虚拟机,跑起来好可以,就是swap用的比较多,图见上一篇随笔.现在平台基本有了,自己笔记本算总控,实验室台式机跑着4台机器(一实三虚),加上一台服务器,可以做很多事情了, ...

  9. golang中的RPC开发-2

    RPC简介 远程过程调用(Remote Procedure Call,RPC)是一个计算机通信协议 该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程 如果 ...

  10. Web开发底层是Servlet

    SpringMVC:是基于spring的一个框架,实际上就是spring的一个模块,专门是做web开发. 可以理解成servlet是一个升级 web开发底层是servlet,框架是在servlet基础 ...