ListArray.java

Iz E-študij, proste zakladnice študentskega znanja

Skoči na: navigacija, iskanje
//Seznam s poljem
 
public class ListArray extends List {
    static final int DEFAULT_LENGTH = 100 ;
    private Object elements[] ;
    private int lastElement ;
 
    public ListArray() {
      this(DEFAULT_LENGTH) ;
    }
    public ListArray(int noElem) {
      elements = new Object[noElem] ;
      makenull() ;
    }
 
    public void makenull() {
      lastElement = -1 ;
    }
    public Object first() {
        return new Integer(0) ;
    }
    public Object last() {
        return new Integer(lastElement) ;
    }
    public Object next(Object pos) {
        return new Integer( ((Integer)pos).intValue() +1) ;
    }
    public Object retrieve(Object pos)  {
      return elements[((Integer)pos).intValue()] ;
    }
    public Object retrieve(int pos)  {
      return elements[pos] ;
    }
    public Object previous(Object pos) {
      return new Integer( ((Integer)pos).intValue() -1) ;
    }
    public void insert(Object x)  {
        insert(x, new Integer(lastElement+1)) ;
            }
    public void insert(Object x, Object pos) {
        int p = ((Integer)pos).intValue() ;
        lastElement++ ;
        // if (lastElement >= size) // error
        //   throw new OverflowException ;
        for (int i=lastElement ; i > p ; )
          elements[i] = elements[--i] ;
        elements[p] = x ;
    }
    public void delete(Object pos) {
      for (int i=((Integer)pos).intValue() ; i < lastElement ; )
        elements[i] = elements[++i] ;
      lastElement -- ;
    }
    public int length() {
      return elements.length ;
    }
 
    public Object end() {
       return new Integer(lastElement+1) ;
    }
 
    public boolean overEnd(Object pos) {
      if ( ((Integer)pos).intValue() > lastElement)
        return true ;
      else return false ;
    }
 
   public boolean empty() {
     if (lastElement <0)
       return true ;
     else return false ;
   }
   public static void main(String[] args) {
    ListArray list = new ListArray();
    System.out.println("Testing class "+list.getClass() );
    int i ;
    for (i=10 ; i > 2 ; i--)
      list.insert(new Integer(i));
    System.out.print("List: ");
    list.printList();
 
    Object locator ;
    for (i=0 ; i < 5 ; i++) {
      locator = list.locate(new Integer(i)) ;
      if (locator !=null)
         System.out.println("Found "+list.retrieve(locator));
      else System.out.println("Not found "+i);
    }
    for (i=10 ; i > 2 ; i=i-2) {
        locator = list.locate(new Integer(i)) ;
        if (locator != null) {
            list.delete(locator) ;
            System.out.println("Deleting "+i);
        }
    }
    System.out.print("List: ");
    list.printList();
    locator = list.first() ;
    locator = list.next(locator) ;
    System.out.println("On place 2 is element " + list.retrieve(locator));
  }
}
Osebna orodja
Imenski prostori
Različice
Dejanja
navigacija

Tiskanje/izvoz
orodja