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

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

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