`
xxtianxiaxing
  • 浏览: 661956 次
  • 性别: Icon_minigender_1
  • 来自: 陕西
社区版块
存档分类
最新评论

collectionTest

 
阅读更多

package list;

import java.util.Iterator;  
import java.util.List;  
 
public class TestList {  
 
    /** 
     * List集合性能测试类 
     * Usage: java com.test.collection.TestList ListClassName MAX_TIMES 
     * 例:java com.test.collection.TestList LinkedList 100000 
     */ 
    public static void main(String[] args) {  
          
        //if (args != null && args.length == 2) {  
           // testList(args[0], Integer.parseInt(args[1]));  
      //  } else {  
            testList("LinkedList", 100000);  
            System.out.println("----------------------------------");             
            testList("ArrayList", 100000);  
            System.out.println("----------------------------------");      
            testList("Vector", 100000);  
            System.out.println("----------------------------------");      
            testList("Stack", 100000);
            System.out.println("----------------------------------");      
      //  }  
    }  
      
    private static void testList(String listName, int maxElements) {  
        List list = null;  
        try {  
            list = (List) Class.forName("java.util." + listName).newInstance();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
          
        addElement2List(list, maxElements);  
        deleteElement2List(list);  
        insertElement2List(list, maxElements);  
        getListElementByIndex(list);  
        getListElementByIterator(list);  
    }  
      
    //add elements to List  
    private static void addElement2List(List list, int maxElements) {  
        long start = System.currentTimeMillis();  
 
        for (int i = 1; i < maxElements; i++) {  
            list.add(new Integer(i));  
        }  
 
        long end = System.currentTimeMillis();  
          
          
        printTime(list, end-start, " [add] ");  
    }  
      
      
    //remove elements from List  
    private static void deleteElement2List(List list) {  
        long start = System.currentTimeMillis();  
 
        while (!list.isEmpty()) {  
            list.remove(0);  
        }  
 
        long end = System.currentTimeMillis();  
          
          
        printTime(list, end-start, " [delete] ");  
    }  
      
      
    //insert elements to List  
    private static void insertElement2List(List list, int maxElements) {  
        long start = System.currentTimeMillis();  
 
        for (int i = 1; i < maxElements; i++) {  
            list.add(0, new Integer(i));  
        }  
 
        long end = System.currentTimeMillis();  
          
          
        printTime(list, end-start, " [insert] ");  
    }  
      
    private static void getListElementByIndex(List list) {  
        long start = System.currentTimeMillis();  
 
        for (int i = 1; i < list.size(); i++) {  
            Integer ele = (Integer)list.get(i);  
        }  
 
        long end = System.currentTimeMillis();  
          
          
        printTime(list, end-start, " [index] ");  
    }  
      
    private static void getListElementByIterator(List list) {  
        long start = System.currentTimeMillis();  
 
        Iterator ite = list.iterator();  
        while (ite.hasNext()) {  
            Integer ele = (Integer)ite.next();  
        }  
 
        long end = System.currentTimeMillis();  
          
          
        printTime(list, end-start, " [iterator] ");  
    }  
      
    private static void printTime(List list, long time, String operation) {  
        String out ="  类:" + list.getClass().getSimpleName();  
          
        out += "  执行操作:" + operation + "  耗时: " + time;  
          
        System.out.println(out);  
    }  
 

分享到:
评论

相关推荐

    CollectionTest.java

    CollectionTest.java

    collection-json.php:Collection + JSON超媒体类型PHP实现

    更多示例位于CollectionTest.php测试文件中 use \ CollectionJson \ Collection ; use \ CollectionJson \ Property ; $ data = new Property \ Data ( 'firstName' , 'Duck' , 'Full name' ); $ link = new ...

    基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本116.0.5808.0)

    资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom116.0.5808.0 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver116.0.5808.0 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)

    2024消费趋势报告.pdf

    2024消费趋势报告.pdf

    PCB的电磁兼容设计+电子设计领域

    1、EMC由EMI和EMS组成 2、EMS常见的整改措施 3、干扰=共模干扰+差模干扰 4、元器件的摆放 5、缝隙影响

    给排水施工图全套.xdw.pdf

    给排水施工图全套.xdw

    基于微信小程序的旅游出行必备(后端接口ssm框架实现)-毕设项目

    毕业设计基于微信小程序的旅游出行必备(后端接口ssm框架实现)-毕设项目.zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 项目介绍: 旅游出行必备项目, 前端为微信小程序,后端接口为ssm框架实现,项目包含源码、数据库毕业设计基于微信小程序的旅游出行必备(后端接口ssm框架实现)-毕设项目.zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 项目主要功能: 该项目是一个基于微信小程序的旅游出行应用,结合后端SSM(Spring MVC + Spring + MyBatis)框架提供服务。主要功能包括行程规划、景点信息查询、在线预订等,旨在为用户提供便捷的旅游出行体验。特点在于利用微信小程序的便捷性,实现即用即走,同时通过后端强大的数据处理能力保证服务稳定性。技术栈涵盖微信小程序开发、Java SSM框架、数据库管理等,适合学习和作为毕业设计参考。

    MC/00000000000000000000000000

    Want to play MC but do not want to buy can download to have a look。 It's very interested ------------------------------------------------------------------------------------------------- ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

    2024嵌入式面试资料SPI子系统

    2024嵌入式面试资料SPI子系统提取方式是百度网盘分享地址

    电子迎宾器和声光控照明开关multsim仿真和课设报告

    设计报告 ——题目名称:电子迎宾器 ——题目名称: 声光控照明开关

    基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本115.0.5789.0)

    资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom115.0.5789.0 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver115.0.5789.0 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)

    基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本115.0.5785.0)

    资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom115.0.5785.0 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver115.0.5785.0 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)

    navicat下载、安装、配置.zip

    【navicat】下载、安装、配置

    2024嵌入式大厂面经东华软件2015年应届实习生毕业生招聘职位-公司

    2024嵌入式大厂面经东华软件2015年应届实习生毕业生招聘职位-公司提取方式是百度网盘分享地址

    C++ 高性能爬虫代码,带UI

    C++ 高性能爬虫代码,带UI

    2024年铁基非晶合金行业分析报告.pptx

    行业报告

    2024嵌入式大厂面经朝歌宽带笔试题

    2024嵌入式大厂面经朝歌宽带笔试题提取方式是百度网盘分享地址

    AutoRuns 查看设置开机自动加载程序、病毒木马及恶意插件程序等

    Autoruns for Windows 是 Mark Russinovich 和 Bryce Cogswell 开发的一款软件,它能用于显示在 Windows启动或登录时自动运行的程序,并且允许用户有选择地禁用或删除它们,例如那些在“启动”文件夹和注册表相关键中的程序。此外,Autoruns还可以修改包括:Windows 资源管理器的 Shell 扩展(如右键弹出菜单)、IE浏览器插件(如工具栏扩展)、系统服务和设备驱动程序、计划任务等多种不同的自启动程序。 Autoruns作为Sysinternals Suite(故障诊断工具套装)的一部分,可运行于 Windows XP、Windows Server 2003 和更高版本的 Windows 操作系统。该软件还包括一个相同功能的命令行版本Autorunsc,可以把结果报表以 CSV 格式输出。

    2024年市场展望与薪酬报告发布-randstad.pdf

    2024年市场展望与薪酬报告发布-randstad.pdf

    AIGC 之 AI 绘画:技术与应用双突破,生产力变革在即

    AIGC 之 AI 绘画:技术与应用双突破,生产力变革在即

Global site tag (gtag.js) - Google Analytics