@Override public Poi set(int index, Poi poi) { Poi old = records.set(index, poi); int delta = poi.size() - old.size(); // log.debug(delta); setSize(size() + delta); return old; }
@Override public int getOffset(Poi to) { int offset = super.offset(); for (int i = 0; i < records.size(); i++) { Poi poi = records.get(i); if (poi == to) { break; } offset += poi.size(); } return offset; }
public Poi remove(int index) { Poi poi = records.remove(index); setSize(size() - poi.size()); return poi; }
@Override public void add(int index, Poi poi) { setSize(size() + poi.size()); records.add(index, poi); }