home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / util / AbstractList.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.6 KB  |  142 lines

  1. package java.util;
  2.  
  3. public abstract class AbstractList extends AbstractCollection implements List {
  4.    protected transient int modCount = 0;
  5.  
  6.    protected AbstractList() {
  7.    }
  8.  
  9.    public boolean add(Object var1) {
  10.       this.add(((AbstractCollection)this).size(), var1);
  11.       return true;
  12.    }
  13.  
  14.    public abstract Object get(int var1);
  15.  
  16.    public Object set(int var1, Object var2) {
  17.       throw new UnsupportedOperationException();
  18.    }
  19.  
  20.    public void add(int var1, Object var2) {
  21.       throw new UnsupportedOperationException();
  22.    }
  23.  
  24.    public Object remove(int var1) {
  25.       throw new UnsupportedOperationException();
  26.    }
  27.  
  28.    public int indexOf(Object var1) {
  29.       ListIterator var2 = this.listIterator();
  30.       if (var1 == null) {
  31.          while(var2.hasNext()) {
  32.             if (var2.next() == null) {
  33.                return var2.previousIndex();
  34.             }
  35.          }
  36.       } else {
  37.          while(var2.hasNext()) {
  38.             if (var1.equals(var2.next())) {
  39.                return var2.previousIndex();
  40.             }
  41.          }
  42.       }
  43.  
  44.       return -1;
  45.    }
  46.  
  47.    public int lastIndexOf(Object var1) {
  48.       ListIterator var2 = this.listIterator(((AbstractCollection)this).size());
  49.       if (var1 == null) {
  50.          while(var2.hasPrevious()) {
  51.             if (var2.previous() == null) {
  52.                return var2.nextIndex();
  53.             }
  54.          }
  55.       } else {
  56.          while(var2.hasPrevious()) {
  57.             if (var1.equals(var2.previous())) {
  58.                return var2.nextIndex();
  59.             }
  60.          }
  61.       }
  62.  
  63.       return -1;
  64.    }
  65.  
  66.    public void clear() {
  67.       this.removeRange(0, ((AbstractCollection)this).size());
  68.    }
  69.  
  70.    public boolean addAll(int var1, Collection var2) {
  71.       boolean var3 = false;
  72.  
  73.       for(Iterator var4 = var2.iterator(); var4.hasNext(); var3 = true) {
  74.          this.add(var1++, var4.next());
  75.       }
  76.  
  77.       return var3;
  78.    }
  79.  
  80.    public Iterator iterator() {
  81.       return new Itr(this, (1)null);
  82.    }
  83.  
  84.    public ListIterator listIterator() {
  85.       return this.listIterator(0);
  86.    }
  87.  
  88.    public ListIterator listIterator(int var1) {
  89.       if (var1 >= 0 && var1 <= ((AbstractCollection)this).size()) {
  90.          return new ListItr(this, var1);
  91.       } else {
  92.          throw new IndexOutOfBoundsException("Index: " + var1);
  93.       }
  94.    }
  95.  
  96.    public List subList(int var1, int var2) {
  97.       return new SubList(this, var1, var2);
  98.    }
  99.  
  100.    public boolean equals(Object var1) {
  101.       if (var1 == this) {
  102.          return true;
  103.       } else if (!(var1 instanceof List)) {
  104.          return false;
  105.       } else {
  106.          ListIterator var2 = this.listIterator();
  107.          ListIterator var3 = ((List)var1).listIterator();
  108.  
  109.          while(var2.hasNext() && var3.hasNext()) {
  110.             Object var4 = var2.next();
  111.             Object var5 = var3.next();
  112.             if (!(var4 == null ? var5 == null : var4.equals(var5))) {
  113.                return false;
  114.             }
  115.          }
  116.  
  117.          return !var2.hasNext() && !var3.hasNext();
  118.       }
  119.    }
  120.  
  121.    public int hashCode() {
  122.       int var1 = 1;
  123.  
  124.       for(Object var3 : this) {
  125.          var1 = 31 * var1 + (var3 == null ? 0 : var3.hashCode());
  126.       }
  127.  
  128.       return var1;
  129.    }
  130.  
  131.    protected void removeRange(int var1, int var2) {
  132.       ListIterator var3 = this.listIterator(var1);
  133.       int var4 = 0;
  134.  
  135.       for(int var5 = var2 - var1; var4 < var5; ++var4) {
  136.          var3.next();
  137.          var3.remove();
  138.       }
  139.  
  140.    }
  141. }
  142.