通過JSON異步減少網絡內容傳輸,而JSON則可以把傳輸內容縮減到純數據;然後利用jQuery內置的AJax功能直接獲得JSON格式的數據;在客戶端直接綁定到數據控件裡面,從而達到最優。
List是有序的Collection,使用此接口能夠精確的控制每個元素插入的位置。用戶能夠使用索引(元素在List中的位置,類似於數組下標)來訪問List中的元素,這類似於Java的數組。
和下面要提到的Set不同,List允許有相同的元素。除了具有Collection接口必備的iterator()方法外,List還提供一個listIterator()方法,返回一個ListIterator接口,和標准的Iterator接口相比,ListIterator多了一些add()之類的方法,允許添加,刪除,設定元素,還能向前或向後遍歷。
實現List接口的常用類有LinkedList,ArrayList,Vector和Stack。ArrayList實現了可變大小的數組。它允許所有元素,包括null。ArrayList沒有同步。size,isEmpty,get,set方法運行時間為常數。但是add方法開銷為分攤的常數,添加n個元素需要O(n)的時間。其他的方法運行時間為線性。
每個ArrayList實例都有一個容量(Capacity),JSON異步即用於存儲元素的數組的大小。這個容量可隨著不斷添加新元素而自動增加,但是增長算法並沒有定義。當需要插入大量元素時,在插入前可以調用ensureCapacity方法來增加ArrayList的容量以提高插入效率。
和LinkedList一樣,ArrayList也是非同步的(unsynchronized)。Map接口請注意,Map沒有繼承Collection接口,Map提供key到value的映射。一個Map中不能包含相同的key。每個key只能映射一個value。Map接口提供3種集合的視圖,JSON異步的內容可以被當作一組key集合,一組value集合,HashMap和Hashtable類似,不同之處在於HashMap是非同步的。
並且允許null,即null value和null key。,但是將HashMap視為JSON異步時(values()方法可返回Collection),其迭代子操作時間開銷和HashMap的容量成比例。因此,如果迭代操作的性能相當重要的話,不要將HashMap的初始化容量設得過高,或者load factor過低。