天天看点

Java集合框架——自定义实现

自定义实现

大多数时候,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

自定义实现主要分为如下几步:

选择一个合适的抽象实现作为基类。

实现基类中需要实现的相关接口

必要的测试