I need to create a custom list that adds elements in pairs. I copied a similar implementation and adjusted it as needed, but unfortunately, it doesn't work.
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
}
And I have this for testing my code so far.
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));
}
}
The problem is that when I call add method the size of the list increases by 2 as it should, but nothing is added and I get an array full of nulls.
You must have to implement get(int index)
method in your PairStringList
. Currently your get method is simply returning null
. Implementation of get(int index)
method should be as shown below:
@Override
public String get(int index) {
return list.get(index);
}