[Java2入門經典]第15章 實用類的集合

如何使用Arrays類中的靜態方法對數組進行填充、比較、排序和搜索。java

如何使用Observable類和Observer接口進行對象間通訊正則表達式

Random類提供的便利工具備哪些。數組

如何建立並使用Data對象和Calendar對象。dom

什麼是正則表達式,以及如何建立並使用它們。工具

Scanner類具備什麼功能以及如何使用它。server

 

15.1數組的工具方法對象

15.1填充數組排序

long[] values = new long[1000];接口

java.util.Arrays.fill(values, 888L); //每一個元素填充爲888文檔

Person[] people = new Person[100];

java.util.Arrays.fill(people, new Person("John", "Doe")); // 這裏只建立了一個Person對象,全部數組元素都引用該對象。

Person[] people = new Person[100];

java.util.Arrays.fill(people, 0, 50, new Person("John", "Doe"));

java.util.Arrays.fill(people, 50,100, new Person("John", "Doe")); //把前50個元素設置爲引用一個Person對象,把後50個元素設置引用另外一個Person對象。

15.1.2比較數組

boolean equals(type[] array1, type[] array2);

若是兩個數組包含相同數目的元素且這兩個數組中全部對應元素都相等,則返回true.

若是array1和array2都爲null,返回true

0.0與-0.0相等

NaN與NaN相等

元素爲類類型時,元素比較經過調用類的equals()方法實現。若是沒有實現,將使用Object類的版本,這個比較的是引用,而不是對象,只有當兩個對象引用均指向同一個對象時才返回true.

15.1.3對數組排序

void sort(type[] array)

void sort(type[] array, int fromIndex, int toIndex)

若是是類類型

15.1.4搜索數組

 

 

15.2 Observable對象和Observer對象

Observable類提供了一種有趣的機制,這種機制能夠把一個類對象中的更改傳達給許多其餘的類對象。

這種機制的一種用途就是文檔/視圖結構,當文檔對象發生改變時,須要告知它的視圖。

視圖對象顯示文檔數據的各個方面,視圖一般是由文檔對象持有的。

文檔是可觀察的(observable),而全部視圖都是觀察者(observer)。這偏偏是Observable類與Observer接口聯合使用時所要達到的目的。

文檔/視圖結構所描繪的是一個多對多的關係。

15.2.1 定義可觀察對象的類

public class Document extends Observable{}

public class View implements Observer{

    public void update(Observable theObservableObject, Object arg){}

}

15.2.2 Observable類的方法

addObserver(Observer o)

deleteObserver(Observer o)

deleteObservers()

notifyObserver(Object arg)

notifyObservers()

countObservers()

setChanged()

hasChanged()

clearChanged()

爲了將一個觀察者鏈接到一個Observable對象,這個Observer對象必須調用Observable對象的addObserver()方法來向Observable對象註冊。

相關文章
相關標籤/搜索