posts - 0,  comments - 1,  trackbacks - 0

          Java提供了數種持有對象的方式,包括語言內置的Array,還有就是utilities中提供的容器類(container classes),又稱群集類(collection classes)。集合在java中非常重要,在討論之前,先來看幾個面試中的經典問題。

          1 Collection 和 Collections的區別。

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

          3 ArrayList和Vector的區別。

          4 HashMap和Hashtable的區別。

          篇尾有答案,我們開始正題。

           

          集合Collection接口

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

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

          求交集 retainAll(Collection c);

           

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

          Public interface Iterator{

            Public Boolean hasNext(0;

          Public Object next(0;

          Public void remove(0;

          }

           

          集set

          --沒有重復項目的集合

          有三種特定類型的集可用

          HashSet-基于散列表的集,加進散列表的元素要實現hashCode()方法

          LinkedHashSet-對集迭代時,按增加順序返回元素

          TreeSet-基于(平衡)樹的數據結構

           

          清單List

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

          有兩個特定版本

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

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

          學集合其實是因為我要研究泛型,苦于作為前提的集合還沒學懂,所以就先來搞搞它吧。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

           

          Java提供了數種持有對象的方式,包括語言內置的Array,還有就是utilities中提供的容器類(container classes),又稱群集類(collection classes)。集合在java中非常重要,在討論之前,先來看幾個面試中的經典問題。

          1 Collection 和 Collections的區別。

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

          3 ArrayList和Vector的區別。

          4 HashMap和Hashtable的區別。

          篇尾有答案,我們開始正題。

           

          集合Collection接口

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

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

          求交集 retainAll(Collection c);

           

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

          Public interface Iterator{

            Public Boolean hasNext(0;

          Public Object next(0;

          Public void remove(0;

          }

           

          集set

          --沒有重復項目的集合

          有三種特定類型的集可用

          HashSet-基于散列表的集,加進散列表的元素要實現hashCode()方法

          LinkedHashSet-對集迭代時,按增加順序返回元素

          TreeSet-基于(平衡)樹的數據結構

           

          清單List

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

          有兩個特定版本

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

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

          學集合其實是因為我要研究泛型,苦于作為前提的集合還沒學懂,所以就先來搞搞它吧。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

           

          Java提供了數種持有對象的方式,包括語言內置的Array,還有就是utilities中提供的容器類(container classes),又稱群集類(collection classes)。集合在java中非常重要,在討論之前,先來看幾個面試中的經典問題。

          1 Collection 和 Collections的區別。

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

          3 ArrayList和Vector的區別。

          4 HashMap和Hashtable的區別。

          篇尾有答案,我們開始正題。

           

          集合Collection接口

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

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

          求交集 retainAll(Collection c);

           

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

          Public interface Iterator{

            Public Boolean hasNext(0;

          Public Object next(0;

          Public void remove(0;

          }

           

          集set

          --沒有重復項目的集合

          有三種特定類型的集可用

          HashSet-基于散列表的集,加進散列表的元素要實現hashCode()方法

          LinkedHashSet-對集迭代時,按增加順序返回元素

          TreeSet-基于(平衡)樹的數據結構

           

          清單List

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

          有兩個特定版本

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

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

          二.數據增長:當需要增長時,Vector默認增長為原來一培,而ArrayList卻是原來的一半

           

          HashMap和Hashtable的區別 

          一.歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現 

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

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

          posted on 2007-10-04 22:03 火焰出林 閱讀(325) 評論(0)  編輯  收藏 所屬分類: Core JAVA
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          留言簿(1)

          隨筆分類

          文章分類(25)

          文章檔案(23)

          新聞檔案(8)

          相冊

          最新隨筆

          搜索

          •  

          最新評論

          主站蜘蛛池模板: 宣恩县| 乌兰县| 礼泉县| 金乡县| 惠东县| 调兵山市| 民勤县| 潼南县| 上林县| 迁西县| 嵊泗县| 沂南县| 嘉鱼县| 县级市| 广汉市| 烟台市| 新巴尔虎右旗| 蛟河市| 晋州市| 兰西县| 邳州市| 固镇县| 格尔木市| 盈江县| 洛宁县| 阿拉善右旗| 体育| 电白县| 云霄县| 岑巩县| 休宁县| 吴堡县| 崇文区| 龙口市| 个旧市| 长泰县| 休宁县| 黄冈市| 蕉岭县| 淄博市| 资兴市|