关于java数据结构的速度的问题,希望大家说两句。 呵呵,总是不断看到有人跳出来要用Vector。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 list的速度测试程序import java.util.Date ;import java.util.Vector ;import java.util.Random ;import java.util.ArrayList ;import java.util.LinkedList ;public class testArray{ public testArray () { } Vector data = new Vector () ; //ArrayList data = new ArrayList () ; //LinkedList data = new LinkedList () ; int top_count ; void testcreate () { top_count = 20 ; data = new Vector () ; //data = new ArrayList () ; //data = new LinkedList () ; Random rnd = new Random () ; for ( int i = 0 ; i < top_count ; i++ ) { data.add ( "data string" + String.valueOf ( rnd.nextFloat () ) ) ; } } void testsmall () { Random rnd = new Random () ; for ( int i = 0 ; i < 10000 ; i++ ) { String str = ( String ) data.get ( rnd.nextInt ( 20 ) ) ; int l = str.length () ; } } void test () { testcreate () ; Date now = new Date () ; long start_t = now.getTime () ; for ( int i = 0 ; i < 100000 ; i++ ) { if ( i % 1000 == 0 ) { System.out.println ( i ) ; } //testsmall () ; testcreate () ; } now = new Date () ; long end_t = now.getTime () ; System.out.println ( "total time:" + String.valueOf ( ( double ) ( end_t - start_t ) / 1000 ) + "秒" ) ; }} 小的集合 top_count = 20 testcreate(数据建立测试) 测试次数100000Vector 10.828秒ArrayList 11.015秒LinkedList 11.36秒testsmall(数据建立测试) 测试次数10000Vector 38.61秒ArrayList 36.625秒LinkedList 34.735秒 小的集合 top_count = 20000 testsmall(数据建立测试) 测试次数10000Vector 54.625秒ArrayList 60.968秒LinkedList 62.0秒 http://expert.csdn.net/Expert/TopicView3.asp?id=2516149 写android手机塔防游戏的话要用到游戏引擎吗 JAVA中有没有类似VB 的GridData的控件啊,要实现填写数据,直接存入数据库中,而非像table那样直接显示数据库数据啊?? java io 创建文件 ===Socket释放端口的问题=== 大家来看看这个图形怎么输出~~ 有谁做过checkbox加在jtree上,而且非叶节点可以有3种状态 JCreator简单问题 简单问题! 请问怎么应用多维动态数组?vector能实现该功能吗? 程序中如何取得当前 JBuilder 的版本号? 谁有java深度历险书的电子版,发给我一份!!! Servlet的问题
import java.util.Date ;
import java.util.Vector ;
import java.util.Random ;
import java.util.ArrayList ;
import java.util.LinkedList ;public class testArray
{
public testArray ()
{
}
Vector data = new Vector () ;
//ArrayList data = new ArrayList () ;
//LinkedList data = new LinkedList () ;
int top_count ;
void testcreate ()
{
top_count = 20 ;
data = new Vector () ;
//data = new ArrayList () ;
//data = new LinkedList () ;
Random rnd = new Random () ; for ( int i = 0 ; i < top_count ; i++ )
{
data.add ( "data string" + String.valueOf ( rnd.nextFloat () ) ) ;
}
}
void testsmall ()
{
Random rnd = new Random () ;
for ( int i = 0 ; i < 10000 ; i++ )
{
String str = ( String ) data.get ( rnd.nextInt ( 20 ) ) ;
int l = str.length () ;
}
} void test ()
{
testcreate () ;
Date now = new Date () ;
long start_t = now.getTime () ; for ( int i = 0 ; i < 100000 ; i++ )
{
if ( i % 1000 == 0 )
{
System.out.println ( i ) ;
}
//testsmall () ;
testcreate () ;
} now = new Date () ;
long end_t = now.getTime () ;
System.out.println ( "total time:" +
String.valueOf ( ( double ) ( end_t - start_t ) /
1000 ) + "秒" ) ;
}
}
top_count = 20 testcreate(数据建立测试) 测试次数100000
Vector 10.828秒
ArrayList 11.015秒
LinkedList 11.36秒testsmall(数据建立测试) 测试次数10000
Vector 38.61秒
ArrayList 36.625秒
LinkedList 34.735秒
top_count = 20000 testsmall(数据建立测试) 测试次数10000
Vector 54.625秒
ArrayList 60.968秒
LinkedList 62.0秒