一.從源碼中可以看出兜看,ArrayList繼承可AbstractList 和實(shí)現(xiàn)了鸠信,和實(shí)現(xiàn)了多個(gè)接口,List<E>, RandomAccess, Cloneable, java.io.Serializable
在看看他繼承機(jī)構(gòu)
這個(gè)構(gòu)造方法,是指定自己構(gòu)造ArrayList自己給定大小灸蟆,要是不給定大小隆敢,或者給的是0? 都會(huì)給他一個(gè)空的
這個(gè)方法是獲取這個(gè)對(duì)象第一次出現(xiàn)的位置发皿。從代碼中可以看出即使是空的也會(huì)有空的返回值。
這個(gè)方式拂蝎,是判斷下表是否越界穴墅,這個(gè)異常我們有的時(shí)候會(huì)遇到,現(xiàn)在就知道這個(gè)異常是哪里拋出來(lái)的了温自。
從這里我們可以看出玄货,ArrayList底層是數(shù)組,所以我們就可以解釋ArrayList 為什么查詢速度快悼泌,修改慢的問題