我需要创建一个自定义列表来成对添加元素。我复制了一个类似的实现并根据需要进行了调整,但不幸的是,它不起作用。
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 方法只是返回 null
。 get(int index)
方法的实现应如下所示:
@Override
public String get(int index) {
return list.get(index);
}
关于java - 在Java中实现CustomList的List接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67848771/