java優化編程-核心類

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()很多。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章