List的子类
1ArrayList:
?????底層數(shù)據(jù)結構是數(shù)組,查詢快,增刪慢線程不安全,效率高
查詢快原因:
?????底層數(shù)據(jù)結構是數(shù)組,數(shù)組有索引,索引的作用相當于字典中的字母,通過這個字母,查到對應區(qū)域,不要一個一個字區(qū)比較。所以查詢塊.
增刪慢原因:
?????底層結構是數(shù)組,在x索引處添加或者刪除一個元素,x-1處元素的索引以及x-1以后元素的索引值都要發(fā)生改變,所以相對鏈表而已增刪慢。
2Vector:
?????底層數(shù)據(jù)結構是數(shù)組,查詢快,增刪慢線程安全,效率低
Vector的特有功能:
1:添加功能
public void addElement(Object obj)————– add()
2:獲取功能
public Object elementAt(int index)—————-get()
public Enumeration elements()——————–Iterator iterator()
- boolean hasMoreElements()——————–hasNext()
- Object nextElement()—————————-next()
3LinkedList:
?????底層數(shù)據(jù)結構是鏈表,查詢慢,增刪快線程不安全,效率高
查詢慢原因:
?????底層數(shù)據(jù)結構是鏈表,查一個元素需要從首元素一個一個查詢下去
增刪快原因:
?????底層數(shù)據(jù)結構是鏈表,假如需要在x,z元素之間添加一個y元素,只需要把x元素的指針域指向y節(jié)點,y元素的指針域指向z節(jié)點;假如需要在x,y,z元素之間刪除y元素,只需要把x元素的指針域指向z節(jié)點,y元素的指針域指向null,這樣就刪除y元素了
3LinkedList的特有功能:
A:添加功能
public void addFirst(Object e)
public void addLast(Object e)
B:獲取功能
public Object getFirst()
public Obejct getLast()
C:刪除功能
public Object removeFirst();刪除第一個元素,并返回
public Object removeLast();刪除最后一個元素,并返回
轉載于:https://www.cnblogs.com/feiZhou/p/9344483.html
總結
- 上一篇: 访问单个节点的删除
- 下一篇: iOS开发 - OC - block的详