題目:請問ArrayList,LinkedList以及Vector的區別?
1,ArrayList底層實際是采用數組實現的(并且該數組的類型是Object類型)
2,如果是jdk6的話,采用Arrays.copyOf()方法來生成一個新的數組,如果是jdk5.0的話,使用的是System.arraycopy方法
3,List list = new ArrayList();時,底層會生成一個長度為10的數組來存放對象。( jdk8是在 add方法里做的自增長 )
4,對于ArrayList和Vector底層都是用數組實現的(該數組類型都是一個Object類型的數組)
5,對于ArrayList,所有的方法都是不同步的,對于Vector,大部分public方法都是同步的。
6,對于ArrayList,查找速度非常快,增加和刪除操 作非常慢。(本質上是有數組的特點來決定的)
7,對于LinkedList,查找速度非常慢,增加和刪除 操作非常快。(本質上是由雙向循環鏈表的特點來決定的)
新聞熱點
疑難解答