My TableModel implementations typically sit on an ArrayList to allow for efficient random access performance. However, ArrayList's remove(int) implementation looks fairly inefficient as it involves making a System.arrayCopy(...) call to shift all subsequent elements back by 1.
What approaches to people take to implementing TableModels? Is there a better data structure I should be considering? ... perhaps a 3rd party library?
Some more information: My table data can shrink and grow so any fixed-size buffer implementation isn't going to work.
Thanks in advance.