您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>java源碼下載>

java集合框架詳解

大小:0.3 MB 人氣: 2017-09-27 需要積分:2

 ?。?首先查看jdk中Collection類的源碼后會發(fā)現(xiàn)如下內(nèi)容:

  。。. * @see AbstractCollection * @since 1.2*/ publicinterfaceCollection《E》extendsIterable《E》 {// Query Operations

  通過查看可以發(fā)現(xiàn)Collection是一個接口類,其繼承了java迭代接口Iterable。

  眾所周知在我們使用Java中的類的存儲的時候經(jīng)常會使用一些容器,鏈表的概念,本文將徹底幫您弄清鏈表的各種概念和模型!?。?!

  注意理解哦~~~ 大致框架如下:

  Collection接口有兩個主要的子接口List和Set,注意Map不是Collection的子接口哦這個要牢記。

  Collection中可以存儲的元素間無序,可以重復(fù)組各 自獨(dú)立的元素, 即其內(nèi)的每個位置僅持有一個元素,同時允許有多個null元素對象。

  Collection接口中的方法如下:

  java集合框架詳解

  1)List接口

  List接口對Collection進(jìn)行了簡單的擴(kuò)充

  查看List接口的源碼會發(fā)現(xiàn):

  。。.《br》 * @see AbstractList * @see AbstractSequentialList * @since 1.2*/ public interface List《E》 extends Collection《E》 { // Query Operations /** * Returns the number of elementsinthis list. If this list contains * more than 《tt》Integer.MAX_VALUE《/tt》 elements, returns * 《tt》Integer.MAX_VALUE《/tt》。 《br》 。。.

  這里也就知道為什么Collection接口時List接口的父接口了吧。

  List接口中的元素的特點(diǎn)為:

  List中存儲的元素實(shí)現(xiàn)類排序,而且可以重復(fù)的存儲相關(guān)元素。

  同時List接口又有兩個常用的實(shí)現(xiàn)類ArrayList和LinkedList

  1)ArrayList:

  ArrayList數(shù)組線性表的特點(diǎn)為:類似數(shù)組的形式進(jìn)行存儲,因此它的隨機(jī)訪問速度極快。

  ArrayList數(shù)組線性表的缺點(diǎn)為:不適合于在線性表中間需要頻繁進(jìn)行插入和刪除操作。因?yàn)槊看尾迦牒蛣h除都需要移動數(shù)組中的元素。

  可以這樣理解ArrayList就是基于數(shù)組的一個線性表,只不過數(shù)組的長度可以動態(tài)改變而已。

  對于ArrayList的詳細(xì)使用信息以及創(chuàng)建的過程可以查看jdk中ArrayList的源碼,這里不做過多的講解。

  對于使用ArrayList的開發(fā)者而言,下面幾點(diǎn)內(nèi)容一定要注意啦,尤其找工作面試的時候經(jīng)常會被問到。

  注意啦?。。。。。。?!

  a.如果在初始化ArrayList的時候沒有指定初始化長度的話,默認(rèn)的長度為10.

  packagecom.yonyou.test; importjava.util.ArrayList; importjava.util.Iterator;importjava.util.List; /** * 測試類 *@author小浩 * @創(chuàng)建日期 2015-3-2 */publicclassTest{publicstaticvoidmain(String[] args) { List《String》 list=newArrayList《String》(); list.add( “Hello”); list.add( “World”); list.add( “HAHAHAHA”); //第一種遍歷方法使用foreach遍歷Listfor(String str : list) { //也可以改寫for(int i=0;i《list.size();i++)這種形式System.out.println(str); } //第二種遍歷,把鏈表變?yōu)閿?shù)組相關(guān)的內(nèi)容進(jìn)行遍歷String[] strArray= newString[list.size()]; list.toArray(strArray); for( inti=0;i《strArray.length;i++) //這里也可以改寫為foreach(String str:strArray)這種形式{ System.out.println(strArray[i]); } //第三種遍歷 使用迭代器進(jìn)行相關(guān)遍歷Iterator《String》 ite=list.iterator(); while(ite.hasNext()) { System.out.println(ite.next()); } } }

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?