ArrayList和LinkedList的用法

2021-07-24 14:28:19 字數 2066 閱讀 5914

/*

* 集合的體系:

* ----------collection 單列集合的根介面

* --------------list   如果是實現了list介面的實現類,該集合類具備的特點:有序,可重複

* ************-----arraylist   arraylist底層是維護了 乙個object陣列實現的,特點:查詢速度快,增刪慢。

* 什麼時候使用arraylist:如果目前的資料是查詢比較多,增刪比較少的時候,那麼就使用arraylist儲存這批資料。比如:高校圖書館

* * --------------------linkedlist

* --------------------vector(了解即可)

* --------------set    如果是實現了set介面的集合類,該集合類具備的特點:無序,不可重複

* * 筆試題目:使用arraylist無參的建構函式建立乙個物件時,預設的容量是多少?如果長度不夠使用時又自動增長多少?

*     arraylist底層維護了乙個object陣列實現的,使用無參建構函式時,object陣列預設的容量是10,當長度不夠時,自動增長0.5倍。

*  筆試題目:說出arraylist與vector的區別?

*      相同點: arraylist與vector底層都是使用了object陣列實現的

*      不同點:

*           1.arraylist是執行緒不同步的,操作效率高。vector是執行緒同步的,操作效率低

*           2.arraylist是jdk1.2出現的,vector是jdk1.0的時候出現的。

執行結果:[, , ]

//linkedlist底層是使用了鍊錶資料結構實現的,特點:查詢速度慢,增刪快。

/** linkedlist特有的方法:

*      1.方法介紹

*             addfist(e e)

*             addlast(e e)

*             

*             getfirst()

*             getlast()

*             

*             removefirst()

*             removelast()

*       2.資料結構

*             1.棧:主要是用於實現堆疊資料結構的儲存方式

*                  先進後出

*                  push()

*                  pop()

*             2.佇列(雙端佇列1.5):主要是為了讓你們可以使用linkedlist模擬佇列資料結構的儲存方式

*                  先進先出

*                  offer()

*                  poll()

*        3.返回逆序的迭代器物件

*             descendingiterator()  返回逆序的迭代器物件

執行結果:王五 李四 張三 

//機試題目:使用linkedlist實現堆疊資料的儲存方式與佇列的資料結構儲存方式

執行結果:張三

李四王五

Array List和ArrayList的區別與

定義 public abstract class array icloneable,ilist,icollection,ienumerable,istructuralcomparable,istructuraequatable 陣列在記憶體中是連續儲存的,所以它的索引速度是非常的快,而且賦值與修改元...

LinkedList和ArrayList的區別

對於集合collection下的list介面,有兩個實現類,arraylist和linkedlist,那麼他們兩個有什麼區別呢。arraylist的底層由陣列實現,而linkedlist的底層由雙向鍊錶實現,底層的不同才是他們區別的根源。然而因為他們繼承於同乙個父介面,他們的很多方法都是相同的。關於...

ArrayList和LinkedList的面試題

一 arraylist為什麼是執行緒不安全的?arraylist在新增乙個元素的時候,它可能會有兩步來完成 1.在 items size 的位置存放此元素 2.增大 size 的值。在單執行緒執行的情況下,如果 size 0,新增乙個元素後,此元素在位置 0,而且 size 1 而如果是在多執行緒情...