`
xxtianxiaxing
  • 浏览: 690977 次
  • 性别: 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

    JAVA集合详解

    CollectionTest cl = new CollectionTest(); cl.fun(); } public void fun() { // 实现类ArrayList类实例化Collection Collection coll = new ArrayList(); Collection coll1 = new ArrayList(); // 使用...

    Java容器类PPT学习教案.pptx

    public class CollectionTest { public static void main(String[] args) { Collection c = new ArrayList(); c.add("hello"); c.add(new Boolean(true)); c.add(new Integer(100)); System.out.println(...

    CSS样式 JS特效 Java小工具 文学文档 Java插件 截图软件

    压缩包子文件的文件名“CollectionTest.java”表明这是一个Java源代码文件,很可能包含了对Java集合框架(Collections Framework)的测试代码。Java集合框架是Java库中一组接口和类,用于存储和操作数据,包括List、...

    集合类的总结

    通过`CollectionTest`文件,我们可以编写测试代码来演示这些集合类的用法,例如添加元素、遍历、查找、删除等操作,以便更好地理解和掌握它们的特性。 总的来说,Java集合框架是程序设计中的核心部分,理解并熟练...

    范型List Dictory增加事件功能

    在`CollectionTest`这个文件中,可能包含了相关的测试代码,用于验证我们自定义的`ObservableList&lt;T&gt;`和`ObservableDictionary, TValue&gt;`类是否能正确触发事件。测试通常会包括添加、删除、修改元素等各种操作,确保...

    ATLVC源代码:comcollection2

    5. `CollectionTest.def` - 这是一个导出定义文件,用于指定在`CollectionTest.dll`中导出哪些函数和接口,这对于创建DLL(动态链接库)至关重要。 6. `CollectionTest.dll` - 这是一个动态链接库,包含了`...

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

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

    ATLVC源代码:comcollection1

    “CollectionTest.dll”很可能是包含一些测试集合类的COM组件,这些类可能实现了诸如IEnum interfaces,用于枚举和管理对象集合。DLL是动态链接库,可以在运行时被多个程序共享,以此提高内存利用率并降低应用程序的...

    Java遍历集合的三种方式

    `CollectionTest()`方法展示了如何在一般Collection上使用这三种方法,而`ListTest()`方法则是在List类型的集合上进行的。值得注意的是,当使用`get()`方法时,需要类型转换,因为返回的对象是Collection的父类类型...

    循环参考证明ATL对象集合

    - `CollectionTest_src.zip`: 源代码示例,展示了如何测试和验证避免循环引用的ATL对象集合。 - `CollectionHelpers_src.zip`: 可能包含了辅助函数和类,帮助处理弱引用和集合操作。 - `TestCollection_demo.zip`: ...

    Java map集合顺序如何同步添加顺序

    package com.lxk.collectionTest; import com.google.common.collect.Maps; import java.util.Map; public class OrderedMapTest { public static void main(String[] args) { Map, Integer&gt; hashMap = Maps.new...

    Java集合框架

    public class CollectionTest { @Test public void testCollectionMethods() { // 创建一个ArrayList集合 Collection&lt;String&gt; collection = new ArrayList(); // 向集合中添加元素 collection.add("Element 1...

Global site tag (gtag.js) - Google Analytics