【发布时间】:2012-03-06 15:34:38
【问题描述】:
我知道如何处理我的编程代码,但我只是不知道为什么我们必须这样做。
我的 ArrayList 类实现了一个 List
另外:当我在 NetBeans 中使用自动更正功能时,它会在每个方法后显示语句“throw new UnsupportedOperationException("Not supported yet.");”。为什么?
这是我的代码:
public class ArrayList<E> implements List<E> {
private E[] elementData;
private int elementCount;
private int capacityIncrement;
private static final int INVALID_INDEX=-1;
private static final int DEFAULT_CAPACITY = 100;
public ArrayList() {
capacityIncrement = 0;
elementData = (E[]) new Object[DEFAULT_CAPACITY];
}
public ArrayList(int capacity) {
this.capacityIncrement = 0;
this.elementData = (E[]) new Object[capacity];
}
public ArrayList(int capacity, int increment) {
this.capacityIncrement = increment;
this.elementData = (E[]) new Object[capacity];
}
private static class ArrayListIterator<E> implements Iterator<E> {
private ArrayListIterator(ArrayList c) {
elementData = c;
}
public interface List<E> {
public int size();
public boolean isEmpty();
public void clear();
public boolean contains(E element);
public void add(E element);
public boolean remove(E element);
public E elementAt(int index);
public int indexOf(E element);
public void insertElementAt(E element, int index);
public void removeElementAt(int index);
public void setElementAt(E element, int index);
public void removeDuplicates();
public void trimToSize();
public Iterator<E> iterator();
public Iterator<E> iterator(int index);
public String toString();
}
【问题讨论】:
-
或许可以看看Interfaces上的教程。
-
您确定要设置
capacityIncrement = 0吗?这意味着,默认情况下,您的实现不会扩大规模。当提供负增量(或容量)时,ArrayList(int, int)呢?不要忘记边界检查!您可能会发现定义默认增量很有用,尽管我认为通常它是基于百分比的。您可能还希望通过一个“基本”构造函数推送所有内容,其他人引用该构造函数以隐藏复杂性。 -
看看我的回答,我认为它应该可以解决您的问题。请注意@X-Zero 的评论。
标签: java