兩個arraylist操作

1. 兩個arraylist指定位置替換數據還是對象 對於少量數據

可以使用set(index,E element) api的解釋

public E set(int index,
             E element)
用指定的元素替代此列表中指定位置上的元素。

指定者:
接口 List<E> 中的 set
覆蓋:
類 AbstractList<E> 中的 set
參數:
index - 要替代的元素的索引
element - 存儲在指定位置上的元素
返回:
以前位於該指定位置上的元素
拋出:
IndexOutOfBoundsException - 如果索引超出範圍 ( index < 0 || index >= size())


數據量大的時候,可以考慮sublist()方法  此方法是左閉右開的。

返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之間的部分視圖。(如果 fromIndex 和 toIndex 相等,則返回的列表爲空)。返回的列表由此列表支持,因此返回列表中的非結構性更改將反映在此列表中,反之亦然。返回的列表支持此列表支持的所有可選列表操作。

此方法省去了顯式範圍操作(此操作通常針對數組存在)。通過傳遞 subList 視圖而非整個列表,期望列表的任何操作可用作範圍操作。例如,下面的語句從列表中移除了元素的範圍:

            list.subList(from, to).clear();
 
可以對 indexOf 和 lastIndexOf 構造類似的語句,而且 Collections 類中的所有算法都可以應用於 subList。

如果支持列表(即此列表)通過任何其他方式(而不是通過返回的列表)從結構上修改,則此方法返回的列表語義將變爲未定義(從結構上修改是指更改列表的大小,或者以其他方式打亂列表,使正在進行的迭代產生錯誤的結果)。









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章