自定義實作
大多數時候,Java平台提供的資料集實作是夠用的。然而,處于某些特殊的需要,我們可能需要實作自己的資料集。
Java資料集提供了一系列資料集接口的抽象實作,用它們作為自定義資料集基類能極大的簡化我們的實作過程。
下面的例子就示範了如何自定義一個List接口的實作:
public static <T> List<T> asList(T[] a) {
return new MyArrayList<T>(a);
}
private static class MyArrayList<T> extends AbstractList<T> {
private final T[] a;
MyArrayList(T[] array) {
a = array;
}
public T get(int index) {
return a[index];
public T set(int index, T element) {
T oldValue = a[index];
a[index] = element;
return oldValue;
public int size() {
return a.length;
如你所見,你隻需要實作構造函數及get和set方法,基類将幫你完成其它的事情。
Java提供的虛實作主要有如下幾種:
AbstractCollection
AbstractSet
AbstractList
AbstractSequentialList
AbstractQueue
AbstractMap
自定義實作主要分為如下幾步:
選擇一個合适的抽象實作作為基類。
實作基類中需要實作的相關接口
必要的測試