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 / AbstractCollection.class (.txt) next >
Encoding:
Java Class File  |  1979-12-31  |  2.0 KB  |  171 lines

  1. package java.util;
  2.  
  3. import java.lang.reflect.Array;
  4.  
  5. public abstract class AbstractCollection implements Collection {
  6.    protected AbstractCollection() {
  7.    }
  8.  
  9.    public abstract Iterator iterator();
  10.  
  11.    public abstract int size();
  12.  
  13.    public boolean isEmpty() {
  14.       return this.size() == 0;
  15.    }
  16.  
  17.    public boolean contains(Object var1) {
  18.       Iterator var2 = this.iterator();
  19.       if (var1 == null) {
  20.          while(var2.hasNext()) {
  21.             if (var2.next() == null) {
  22.                return true;
  23.             }
  24.          }
  25.       } else {
  26.          while(var2.hasNext()) {
  27.             if (var1.equals(var2.next())) {
  28.                return true;
  29.             }
  30.          }
  31.       }
  32.  
  33.       return false;
  34.    }
  35.  
  36.    public Object[] toArray() {
  37.       Object[] var1 = new Object[this.size()];
  38.       Iterator var2 = this.iterator();
  39.  
  40.       for(int var3 = 0; var2.hasNext(); ++var3) {
  41.          var1[var3] = var2.next();
  42.       }
  43.  
  44.       return var1;
  45.    }
  46.  
  47.    public Object[] toArray(Object[] var1) {
  48.       int var2 = this.size();
  49.       if (var1.length < var2) {
  50.          var1 = Array.newInstance(var1.getClass().getComponentType(), var2);
  51.       }
  52.  
  53.       Iterator var3 = this.iterator();
  54.  
  55.       for(int var4 = 0; var4 < var2; ++var4) {
  56.          var1[var4] = var3.next();
  57.       }
  58.  
  59.       if (var1.length > var2) {
  60.          var1[var2] = null;
  61.       }
  62.  
  63.       return var1;
  64.    }
  65.  
  66.    public boolean add(Object var1) {
  67.       throw new UnsupportedOperationException();
  68.    }
  69.  
  70.    public boolean remove(Object var1) {
  71.       Iterator var2 = this.iterator();
  72.       if (var1 == null) {
  73.          while(var2.hasNext()) {
  74.             if (var2.next() == null) {
  75.                var2.remove();
  76.                return true;
  77.             }
  78.          }
  79.       } else {
  80.          while(var2.hasNext()) {
  81.             if (var1.equals(var2.next())) {
  82.                var2.remove();
  83.                return true;
  84.             }
  85.          }
  86.       }
  87.  
  88.       return false;
  89.    }
  90.  
  91.    public boolean containsAll(Collection var1) {
  92.       Iterator var2 = var1.iterator();
  93.  
  94.       while(var2.hasNext()) {
  95.          if (!this.contains(var2.next())) {
  96.             return false;
  97.          }
  98.       }
  99.  
  100.       return true;
  101.    }
  102.  
  103.    public boolean addAll(Collection var1) {
  104.       boolean var2 = false;
  105.       Iterator var3 = var1.iterator();
  106.  
  107.       while(var3.hasNext()) {
  108.          if (this.add(var3.next())) {
  109.             var2 = true;
  110.          }
  111.       }
  112.  
  113.       return var2;
  114.    }
  115.  
  116.    public boolean removeAll(Collection var1) {
  117.       boolean var2 = false;
  118.       Iterator var3 = this.iterator();
  119.  
  120.       while(var3.hasNext()) {
  121.          if (var1.contains(var3.next())) {
  122.             var3.remove();
  123.             var2 = true;
  124.          }
  125.       }
  126.  
  127.       return var2;
  128.    }
  129.  
  130.    public boolean retainAll(Collection var1) {
  131.       boolean var2 = false;
  132.       Iterator var3 = this.iterator();
  133.  
  134.       while(var3.hasNext()) {
  135.          if (!var1.contains(var3.next())) {
  136.             var3.remove();
  137.             var2 = true;
  138.          }
  139.       }
  140.  
  141.       return var2;
  142.    }
  143.  
  144.    public void clear() {
  145.       Iterator var1 = this.iterator();
  146.  
  147.       while(var1.hasNext()) {
  148.          var1.next();
  149.          var1.remove();
  150.       }
  151.  
  152.    }
  153.  
  154.    public String toString() {
  155.       StringBuffer var1 = new StringBuffer();
  156.       Iterator var2 = this.iterator();
  157.       var1.append("[");
  158.       int var3 = this.size() - 1;
  159.  
  160.       for(int var4 = 0; var4 <= var3; ++var4) {
  161.          var1.append(String.valueOf(var2.next()));
  162.          if (var4 < var3) {
  163.             var1.append(", ");
  164.          }
  165.       }
  166.  
  167.       var1.append("]");
  168.       return var1.toString();
  169.    }
  170. }
  171.