/*
* 集合的體系:
* ----------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 而如果是在多執行緒情...