我想扩展 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<size; 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<size; i++)
a[i] = s.readObject();
}
显然我无法访问private transient Object[] elementData;
. 我很困惑我应该创建类ArrayList
,而不是扩展它,还是有任何其他的艺术方式来做到这一点?
更新
我需要使用subList
以便子列表中的更改反映在此列表中。