在 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 方法只是返回 null
。 get(int index)
方法的实现应该如下所示:
@Override
public String get(int index) {
return list.get(index);
}
我需要创建一个成对添加元素的自定义列表。我复制了一个类似的实现并根据需要进行了调整,但不幸的是,它不起作用。
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);
}