posts - 0,  comments - 1,  trackbacks - 0

          Java提供了數(shù)種持有對(duì)象的方式,包括語(yǔ)言內(nèi)置的Array,還有就是utilities中提供的容器類(container classes),又稱群集類(collection classes)。集合在java中非常重要,在討論之前,先來(lái)看幾個(gè)面試中的經(jīng)典問(wèn)題。

          1 Collection 和 Collections的區(qū)別。

          2 List, Set, Map是否繼承自Collection接口。

          3 ArrayList和Vector的區(qū)別。

          4 HashMap和Hashtable的區(qū)別。

          篇尾有答案,我們開(kāi)始正題。

           

          集合Collection接口

          --Collection 是任何對(duì)象組,元素各自獨(dú)立,通常擁有相同的套用規(guī)則。Set List由它派生。
          基本操作  增加元素add(Object obj); addAll(Collection c);

          刪除元素 remove(Object obj);  removeAll(Collection c);

          求交集 retainAll(Collection c);

           

          訪問(wèn)/遍歷集合元素的好辦法是使用Iterator接口(迭代器用于取代Enumeration)

          Public interface Iterator{

            Public Boolean hasNext(0;

          Public Object next(0;

          Public void remove(0;

          }

           

          集set

          --沒(méi)有重復(fù)項(xiàng)目的集合

          有三種特定類型的集可用

          HashSet-基于散列表的集,加進(jìn)散列表的元素要實(shí)現(xiàn)hashCode()方法

          LinkedHashSet-對(duì)集迭代時(shí),按增加順序返回元素

          TreeSet-基于(平衡)樹(shù)的數(shù)據(jù)結(jié)構(gòu)

           

          清單List

          --位置性集合。加進(jìn)清單的元素可以加在清單中特定位置或加到末尾

          有兩個(gè)特定版本

          ArrayList(數(shù)組表)-類似于Vector,都用于縮放數(shù)組維護(hù)集合。區(qū)別:

          一.同步性:Vector是線程安全的,也就是說(shuō)是同步的,而ArrayList是線程序不安全的,不是同步的 

          學(xué)集合其實(shí)是因?yàn)槲乙芯糠盒停嘤谧鳛榍疤岬募线€沒(méi)學(xué)懂,所以就先來(lái)搞搞它吧。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

           

          Java提供了數(shù)種持有對(duì)象的方式,包括語(yǔ)言內(nèi)置的Array,還有就是utilities中提供的容器類(container classes),又稱群集類(collection classes)。集合在java中非常重要,在討論之前,先來(lái)看幾個(gè)面試中的經(jīng)典問(wèn)題。

          1 Collection 和 Collections的區(qū)別。

          2 List, Set, Map是否繼承自Collection接口。

          3 ArrayList和Vector的區(qū)別。

          4 HashMap和Hashtable的區(qū)別。

          篇尾有答案,我們開(kāi)始正題。

           

          集合Collection接口

          --Collection 是任何對(duì)象組,元素各自獨(dú)立,通常擁有相同的套用規(guī)則。Set List由它派生。
          基本操作  增加元素add(Object obj); addAll(Collection c);

          刪除元素 remove(Object obj);  removeAll(Collection c);

          求交集 retainAll(Collection c);

           

          訪問(wèn)/遍歷集合元素的好辦法是使用Iterator接口(迭代器用于取代Enumeration)

          Public interface Iterator{

            Public Boolean hasNext(0;

          Public Object next(0;

          Public void remove(0;

          }

           

          集set

          --沒(méi)有重復(fù)項(xiàng)目的集合

          有三種特定類型的集可用

          HashSet-基于散列表的集,加進(jìn)散列表的元素要實(shí)現(xiàn)hashCode()方法

          LinkedHashSet-對(duì)集迭代時(shí),按增加順序返回元素

          TreeSet-基于(平衡)樹(shù)的數(shù)據(jù)結(jié)構(gòu)

           

          清單List

          --位置性集合。加進(jìn)清單的元素可以加在清單中特定位置或加到末尾

          有兩個(gè)特定版本

          ArrayList(數(shù)組表)-類似于Vector,都用于縮放數(shù)組維護(hù)集合。區(qū)別:

          一.同步性:Vector是線程安全的,也就是說(shuō)是同步的,而ArrayList是線程序不安全的,不是同步的 

          學(xué)集合其實(shí)是因?yàn)槲乙芯糠盒停嘤谧鳛榍疤岬募线€沒(méi)學(xué)懂,所以就先來(lái)搞搞它吧。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

           

          Java提供了數(shù)種持有對(duì)象的方式,包括語(yǔ)言內(nèi)置的Array,還有就是utilities中提供的容器類(container classes),又稱群集類(collection classes)。集合在java中非常重要,在討論之前,先來(lái)看幾個(gè)面試中的經(jīng)典問(wèn)題。

          1 Collection 和 Collections的區(qū)別。

          2 List, Set, Map是否繼承自Collection接口。

          3 ArrayList和Vector的區(qū)別。

          4 HashMap和Hashtable的區(qū)別。

          篇尾有答案,我們開(kāi)始正題。

           

          集合Collection接口

          --Collection 是任何對(duì)象組,元素各自獨(dú)立,通常擁有相同的套用規(guī)則。Set List由它派生。
          基本操作  增加元素add(Object obj); addAll(Collection c);

          刪除元素 remove(Object obj);  removeAll(Collection c);

          求交集 retainAll(Collection c);

           

          訪問(wèn)/遍歷集合元素的好辦法是使用Iterator接口(迭代器用于取代Enumeration)

          Public interface Iterator{

            Public Boolean hasNext(0;

          Public Object next(0;

          Public void remove(0;

          }

           

          集set

          --沒(méi)有重復(fù)項(xiàng)目的集合

          有三種特定類型的集可用

          HashSet-基于散列表的集,加進(jìn)散列表的元素要實(shí)現(xiàn)hashCode()方法

          LinkedHashSet-對(duì)集迭代時(shí),按增加順序返回元素

          TreeSet-基于(平衡)樹(shù)的數(shù)據(jù)結(jié)構(gòu)

           

          清單List

          --位置性集合。加進(jìn)清單的元素可以加在清單中特定位置或加到末尾

          有兩個(gè)特定版本

          ArrayList(數(shù)組表)-類似于Vector,都用于縮放數(shù)組維護(hù)集合。區(qū)別:

          一.同步性:Vector是線程安全的,也就是說(shuō)是同步的,而ArrayList是線程序不安全的,不是同步的 

          二.數(shù)據(jù)增長(zhǎng):當(dāng)需要增長(zhǎng)時(shí),Vector默認(rèn)增長(zhǎng)為原來(lái)一培,而ArrayList卻是原來(lái)的一半

           

          HashMap和Hashtable的區(qū)別 

          一.歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進(jìn)的Map接口的一個(gè)實(shí)現(xiàn) 

          二.同步性:Hashtable是線程安全的,也就是說(shuō)是同步的,而HashMap是線程序不安全的,不是同步的 

          三.值:只有HashMap可以讓你將空值作為一個(gè)表的條目的key或value 
          參考《Mastering Java2 J2SE1.4 》By Zukowshi   《Thinking in Java》By BrUCe Eckel

          posted on 2007-10-04 22:03 火焰出林 閱讀(330) 評(píng)論(0)  編輯  收藏 所屬分類: Core JAVA

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          留言簿(1)

          隨筆分類

          文章分類(25)

          文章檔案(23)

          新聞檔案(8)

          相冊(cè)

          最新隨筆

          搜索

          •  

          最新評(píng)論

          主站蜘蛛池模板: 吉木萨尔县| 双辽市| 南充市| 济阳县| 南靖县| 龙海市| 灌云县| 凉山| 新巴尔虎左旗| 东莞市| 崇明县| 毕节市| 托克逊县| 渭源县| 宜阳县| 芦山县| 清水县| 涞源县| 平原县| 洪湖市| 龙州县| 当阳市| 海城市| 南汇区| 南投县| 塔城市| 永善县| 商城县| 婺源县| 静安区| 葵青区| 安化县| 永城市| 金沙县| 清原| 积石山| 夏津县| 应城市| 凤山市| 台中县| 元江|