我們現在可以開始演示Enumeration(枚舉)的真正威力:將穿越一個序列的操作與那個序列的基礎結構分隔開。在下面的例子裡,PrintData類
通過本章的學習,大家已知道標准Java庫提供了一些特別有用的集合,但距完整意義的集合尚遠。除此之外,象排序這樣的算法根本沒有提供支持。C++出色的
寫在前面的話引言:第1章 對象入門1.1 抽象的進步1.2 對象的接口1.3 實現方案的隱藏1.4 方案的重復使用1.5 繼承:重新使用接口1.5
對我來說,集合類屬於最強大的一種工具,特別適合在原創編程中使用。大家可能已感覺到我對Java 1.1提供的集合多少有點兒失望。因此,看到Java
下面這張表格(表一)總結了用一個集合能做的所有事情(亦可對Set和List做同樣的事情,盡管List還提供了一些額外的功能)。Map不是從Coll
List(接口) 順序是List最重要的特性;它可保證元素按照規定的順序排列。List為Collection添加了大量方法,以便我們在List中部
Set擁有與Collection完全相同的接口,所以和兩種不同的List不同,它沒有什麼額外的功能。相反,Set完全就是一個Collection,
Map(接口) 維持“鍵-值”對應關系(對),以便通過一個鍵查找相應的值HashMap* 基於一個散列表實現(用它代替Ha
從早些時候的那幅示意圖可以看出,實際上只有三個集合組件:Map,List和Set。而且每個接口只有兩種或三種實施方案。若需使用由一個特定的接口提供
利用static(靜態)數組Arrays.toList(),也許能將一個數組轉換成List,如下所示: //: Unsupported.
Java 1.2添加了自己的一套實用工具,可用來對數組或列表進行排列和搜索。這些工具都屬於兩個新類的“靜態”方法。這兩個類
Collections類中含有其他大量有用的實用工具(如表二):enumeration(Collection) 為自變量產生原始風格的Enumer
Java咖啡館(1)——歎咖啡Java咖啡館(2)——第一杯咖啡Java咖啡館(3)—
下面復習一下由標准Java(1.0和1.1)庫提供的集合(BitSet未包括在這裡,因為它更象一種負有特殊使命的類):(1) 數組包含了對象的數字
Java的基本原理就是“形式錯誤的代碼不會運行”。與C++類似,捕獲錯誤最理想的是在編譯期間,最好在試圖運行程序以前。然而
“違例條件”表示在出現什麼問題的時候應中止方法或作用域的繼續。為了將違例條件與普通問題區分開,違例條件是非常重要的一個因素
和Java的其他任何對象一樣,需要用new在內存堆裡創建違例,並需調用一個構建器。在所有標准違例中,存在著兩個構建器:第一個是默認構建器,第二個則
9.2.1 try塊若位於一個方法內部,並“擲”出一個違例(或在這個方法內部調用的另一個方法產生了違例),那個方法就會在違
當然,生成的違例必須在某個地方中止。這個“地方”便是違例控制器或者違例控制模塊。而且針對想捕獲的每種違例類型,都必須有一個
在Java中,對那些要調用方法的客戶程序員,我們要通知他們可能從自己的方法裡“擲”出違例。這是一種有禮貌的做法,只有它才能