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);  
    }  
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值