我想扩展ArrayList类以创建一个不保存重复元素并在内部使用数组来存储的集合。 SetUniqueList存储唯一元素,但我想添加更多功能。
我被卡在方法writeObject和readObject中。这是ArrayList中的实现:
private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException{
int expectedModCount = modCount;
s.defaultWriteObject();
s.writeInt(elementData.length);
for (int i=0; i
s.writeObject(elementData[i]);
if (modCount != expectedModCount) {
throw new ConcurrentModificationException();
}
}
private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {
s.defaultReadObject();
int arrayLength = s.readInt();
Object[] a = elementData = new Object[arrayLength];
for (int i=0; i
a[i] = s.readObject();
}很显然,我无法访问private transient Object[] elementData;。我感到困惑的是,如果我创建像ArrayList这样的类,而不是扩展它,或者有任何其他的artcitectural方法来做到这一点?
更新 H2>
我需要使用subList,以便子列表中的更改反映在此列表中。