在 Java 中为 CustomList 实现 List 接口

Implementing List interface for CustomList in Java

我需要创建一个成对添加元素的自定义列表。我复制了一个类似的实现并根据需要进行了调整,但不幸的是,它不起作用。

class PairStringList implements List<String> {

    private List list;

    public PairStringList() {
        list = new ArrayList();
    }

    @Override
    public boolean add(String s) {
        list.add(list.size(), s);
        list.add(list.size(), s);
        return true;
    }

//other methods
}

到目前为止,我用这个来测试我的代码。

public static void main(String[] args) {
        List<String> list = new PairStringList();
        list.add("1");
        list.add("2");
        list.add("3");

        for(int i = 0; i < list.size(); i++) {
            String s = list.get(i);
            System.out.println(s);
        }

        list.add(4, "0");

        for(int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }

问题是当我调用 add 方法时,列表的大小增加了 2,但没有添加任何内容,我得到一个充满空值的数组。

您必须在 PairStringList 中实施 get(int index) 方法。目前您的 get 方法只是返回 nullget(int index) 方法的实现应该如下所示:

@Override
public String get(int index) {
    return list.get(index);
}