package org.rr.commons.collection;
import java.util.AbstractList;
import java.util.List;
/**
* The {@link BlindElementList} allows to remove a value at a specific index
* without modifying the original {@link List}.
*/
public class BlindElementList<E> extends AbstractList<E> {
private List<E> list;
private int idx;
public BlindElementList(List<E> list, int index) {
this.list = list;
this.idx = index;
}
@Override
public E get(int index) {
if(idx > index) {
return list.get(index);
} else {
return list.get(index + 1);
}
}
@Override
public int size() {
return list.size() - 1;
}
}