问题描述
我需要创建一个成对添加元素的自定义列表。我复制了一个类似的实现,并根据需要进行了调整,但不幸的是,它不起作用。
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,但没有添加任何内容,并且我得到一个充满空值的数组。
解决方法
您必须在您的 get(int index)
中实现 PairStringList
方法。目前您的 get 方法只是返回 null
。 get(int index)
方法的实现应如下所示:
@Override
public String get(int index) {
return list.get(index);
}