⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractcollection.java

📁 this gcc-g++-3.3.1.tar.gz is a source file of gcc, you can learn more about gcc through this codes f
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
   * object. If it is equal, it is removed by the iterator's remove method   * (thus this method will fail with an UnsupportedOperationException if   * the Iterator's remove method does). After the first element has been   * removed, true is returned; if the end of the collection is reached, false   * is returned.   *   * @param o the object to remove from this collection   * @return true if the remove operation caused the Collection to change, or   *         equivalently if the collection did contain o.   * @throws UnsupportedOperationException if this collection's Iterator   *         does not support the remove method   * @see Iterator#remove()   */  public boolean remove(Object o)  {    Iterator itr = iterator();    int pos = size();    while (--pos >= 0)      if (equals(o, itr.next()))        {          itr.remove();          return true;        }    return false;  }  /**   * Remove from this collection all its elements that are contained in a given   * collection (optional operation). This implementation iterates over this   * collection, and for each element tests if it is contained in the given   * collection. If so, it is removed by the Iterator's remove method (thus   * this method will fail with an UnsupportedOperationException if the   * Iterator's remove method does).   *   * @param c the collection to remove the elements of   * @return true if the remove operation caused the Collection to change   * @throws UnsupportedOperationException if this collection's Iterator   *         does not support the remove method   * @see Iterator#remove()   */  public boolean removeAll(Collection c)  {    return removeAllInternal(c);  }  /**   * Remove from this collection all its elements that are contained in a given   * collection (optional operation). This implementation iterates over this   * collection, and for each element tests if it is contained in the given   * collection. If so, it is removed by the Iterator's remove method (thus   * this method will fail with an UnsupportedOperationException if the   * Iterator's remove method does). This method is necessary for ArrayList,   * which cannot publicly override removeAll but can optimize this call.   *   * @param c the collection to remove the elements of   * @return true if the remove operation caused the Collection to change   * @throws UnsupportedOperationException if this collection's Iterator   *         does not support the remove method   * @see Iterator#remove()   */  boolean removeAllInternal(Collection c)  {    Iterator itr = iterator();    boolean modified = false;    int pos = size();    while (--pos >= 0)      if (c.contains(itr.next()))        {          itr.remove();          modified = true;        }    return modified;  }  /**   * Remove from this collection all its elements that are not contained in a   * given collection (optional operation). This implementation iterates over   * this collection, and for each element tests if it is contained in the   * given collection. If not, it is removed by the Iterator's remove method   * (thus this method will fail with an UnsupportedOperationException if   * the Iterator's remove method does).   *   * @param c the collection to retain the elements of   * @return true if the remove operation caused the Collection to change   * @throws UnsupportedOperationException if this collection's Iterator   *         does not support the remove method   * @see Iterator#remove()   */  public boolean retainAll(Collection c)  {    return retainAllInternal(c);  }  /**   * Remove from this collection all its elements that are not contained in a   * given collection (optional operation). This implementation iterates over   * this collection, and for each element tests if it is contained in the   * given collection. If not, it is removed by the Iterator's remove method   * (thus this method will fail with an UnsupportedOperationException if   * the Iterator's remove method does). This method is necessary for   * ArrayList, which cannot publicly override retainAll but can optimize   * this call.   *   * @param c the collection to retain the elements of   * @return true if the remove operation caused the Collection to change   * @throws UnsupportedOperationException if this collection's Iterator   *         does not support the remove method   * @see Iterator#remove()   */  boolean retainAllInternal(Collection c)  {    Iterator itr = iterator();    boolean modified = false;    int pos = size();    while (--pos >= 0)      if (!c.contains(itr.next()))        {          itr.remove();          modified = true;        }    return modified;  }  /**   * Return an array containing the elements of this collection. This   * implementation creates an Object array of size size() and then iterates   * over the collection, setting each element of the array from the value   * returned by the iterator. The returned array is safe, and is not backed   * by the collection.   *   * @return an array containing the elements of this collection   */  public Object[] toArray()  {    Iterator itr = iterator();    int size = size();    Object[] a = new Object[size];    for (int pos = 0; pos < size; pos++)      a[pos] = itr.next();    return a;  }  /**   * Copy the collection into a given array if it will fit, or into a   * dynamically created array of the same run-time type as the given array if   * not. If there is space remaining in the array, the first element after the   * end of the collection is set to null (this is only useful if the   * collection is known to contain no null elements, however). This   * implementation first tests whether the given array is large enough to hold   * all the elements of the collection. If not, the reflection API is used to   * allocate a new array of the same run-time type. Next an iterator is   * obtained over the collection and the elements are placed in the array as   * they are returned by the iterator. Finally the first spare element, if   * any, of the array is set to null, and the created array is returned.   * The returned array is safe; it is not backed by the collection. Note that   * null may not mark the last element, if the collection allows null   * elements.   *   * @param a the array to copy into, or of the correct run-time type   * @return the array that was produced   * @throws NullPointerException if the given array is null   * @throws ArrayStoreException if the type of the array precludes holding   *         one of the elements of the Collection   */  public Object[] toArray(Object[] a)  {    int size = size();    if (a.length < size)      a = (Object[]) Array.newInstance(a.getClass().getComponentType(),                                       size);    else if (a.length > size)      a[size] = null;    Iterator itr = iterator();    for (int pos = 0; pos < size; pos++)      a[pos] = itr.next();    return a;  }  /**   * Creates a String representation of the Collection. The string returned is   * of the form "[a, b, ...]" where a and b etc are the results of calling   * toString on the elements of the collection. This implementation obtains an   * Iterator over the Collection and adds each element to a StringBuffer as it   * is returned by the iterator.   *   * @return a String representation of the Collection   */  public String toString()  {    Iterator itr = iterator();    StringBuffer r = new StringBuffer("[");    for (int pos = size(); pos > 0; pos--)      {        r.append(itr.next());        if (pos > 1)          r.append(", ");      }    r.append("]");    return r.toString();  }  /**   * Compare two objects according to Collection semantics.   *   * @param o1 the first object   * @param o2 the second object   * @return o1 == null ? o2 == null : o1.equals(o2)   */  // Package visible for use throughout java.util.  // It may be inlined since it is final.  static final boolean equals(Object o1, Object o2)  {    return o1 == null ? o2 == null : o1.equals(o2);  }  /**   * Hash an object according to Collection semantics.   *   * @param o the object to hash   * @return o1 == null ? 0 : o1.hashCode()   */  // Package visible for use throughout java.util.  // It may be inlined since it is final.  static final int hashCode(Object o)  {    return o == null ? 0 : o.hashCode();  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -