1 Vector與ArrayList(HashTable/HashMap)
Vector防止多線程運(yùn)行,是線程安全的,效率低,安全性高。
ArrayList在多線程環(huán)境下運(yùn)行,是非線程安全的,效率高,安全性低。
以下方法可以將ArrayList類標(biāo)識(shí)為線程安全的對(duì)象:
List list=Collections.synchronizedList(new ArrayList());
2 ArrayList
對(duì)于很大的數(shù)組,并且你預(yù)料到這個(gè)數(shù)組將會(huì)變得異常龐大,這里給出一個(gè)方法優(yōu)化性能:
final int N=1000000;
ArrayList list=new ArrayList();
//調(diào)用ensureCapacity()方法初始化大小
list.ensureCapacity(N);

for(int i=0;i<N;i++)
{
list.add(obj);
}

3 ArrayList與LinkedList(同屬List接口)
底層實(shí)現(xiàn)方法不同:ArrayList通過(guò)內(nèi)部數(shù)組結(jié)構(gòu)Object[]實(shí)現(xiàn)。
LinkedList類似數(shù)據(jù)結(jié)構(gòu)中的鏈表對(duì)象,通過(guò)一系列的內(nèi)部記錄連接在一起來(lái)實(shí)現(xiàn)的。
將一個(gè)元素插入到集合中的某個(gè)位置時(shí),使用LinkedList比ArrayList快很多,原因是ArrayList插入后其后面所有元素后移一位,而LinkedList只需要添加一個(gè)指向頭部的引用即可。
在集合中按下標(biāo)查找元素時(shí),使用ArrayList比LinkedList快很多。
4 String與StringBuffer
使用append()方法代替"+"運(yùn)算
5 字符串的length()方法
6 charAt()與toCharArray()
通過(guò)charAt()定位字符串時(shí)每次都要引起新的檢索過(guò)程,更好的辦法是轉(zhuǎn)化為字符數(shù)給,通過(guò)數(shù)組索引定位。
7 簡(jiǎn)單字符串格式化時(shí),"+"運(yùn)算
優(yōu)于String.formart()很多。
posted on 2010-01-21 18:35
junly 閱讀(357)
評(píng)論(0) 編輯 收藏 所屬分類:
java