如何使用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对象注册。