java列表

集合是Java API所提供的一系列類,可以用於動態存放多個對象。集合與數組的不同在於,集合是大小可變的序列,而且元素類型可以不受限定,只要是引用類型。集合中不能放基本數據類型,但可以放基本數據類型的包裝類。 集合類全部支持泛型,是一種數據安全的用法。java列表是集合的一種,並且列表中的元素是有序的,且允許重複。java列表又稱為java list。

用法

實際上有兩種List:一種是基本的ArrayList,其優點在於隨機訪問元素,另一種是更強大的LinkedList,它並不是為快速隨機訪問設計的,而是具有一套更通用的方法。次序是List最重要的特點:它保證維護元素特定的順序。List為Collection添加了許多方法,使得能夠向List中間插入與移除元素(這隻推薦LinkedList使用)。一個List可以生成ListIterator,使用它可以從兩個方向遍歷List,也可以從List中間插入和移除元素。

ArrayList

ArrayList:是由數組實現的List。允許對元素進行快速隨機訪問,但是向List中間插入與移除元素的速度很慢。ListIterator只應該用來由後向前遍歷 ArrayList,而不是用來插入和移除元素。因為那比LinkedList開銷要大很多 。

下面舉出一個例子來說明ArrayList的用法。

LinkedList

LinkedList :對順序訪問進行了最佳化,向List中間插入與刪除的開銷並不大。隨機訪問則相對較慢。(使用ArrayList代替)還具有下列方 法:addFirst(), addLast(), getFirst(), getLast(), removeFirst() 和 removeLast(), 這些方法 (沒有在任何接口或基類中定義過)使得LinkedList可以當作堆疊、佇列和雙向佇列使用 。

下面舉出一個例子來說明ArrayList的用法。

排序方法

數字排序

數字排序是對數字進行排序。下面用java寫出數字排序的表示方式 。

中文排序

中文排序是按照一定規則對中文進行排序。下面用java寫出中文排序的表示方式。

實體類排序

實體類排序是按照一定規則進行的排序。下面用java寫出實體類排序的表示方式。

三種遍歷方法

方法一:
超級for循環遍歷:

內部調用第一種,換湯不換藥,因此比Iterator 慢,這種循環方式還有其他限制,不建議使用它

方法二:
對於ArrayList來說速度比較快,用for循環,以size為條件遍歷:

內部不鎖定,效率最高,但是當寫多執行緒時要考慮並發操作的問題。

方法三:
集合類的通用遍歷方式,從很早的版本就有,用疊代器疊代:

這種方式在循環執行過程中會進行數據鎖定,性能稍差,同時,如果你想在尋歡過程中去掉某個元素,只能調用it.remove方法,不能使用list.remove方法,否則一定出現並發訪問的錯誤. 。

相關詞條

相關搜尋

熱門詞條

聯絡我們