collection.html
来自「j2se5-api-zh,java文档的中文版本」· HTML 代码 · 共 675 行 · 第 1/3 页
HTML
675 行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc (build 1.5.0_03) on Wed Nov 02 09:50:40 CST 2005 --><META http-equiv="Content-Type" content="text/html; charset=gb2312"><TITLE>Collection (Java 2 Platform SE 5.0)</TITLE><META NAME="keywords" CONTENT="java.util.Collection interface"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="Collection (Java 2 Platform SE 5.0)";}</SCRIPT><NOSCRIPT></NOSCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="跳过导航链接"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>类</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Collection.html"><FONT CLASS="NavBarFont1"><B>使用</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Java<sup><font size=-2>TM</font></sup> 2 Platform<br>Standard Ed. 5.0</b></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="Calendar.html" title="java.util 中的类"><B>上一个类</B></A> <A HREF="Collections.html" title="java.util 中的类"><B>下一个类</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../index.html@java_2Futil_2FCollection.html" target="_top"><B>框架</B></A> <A HREF="Collection.html" target="_top"><B>无框架</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../allclasses-noframe.html"><B>所有类</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../allclasses-noframe.html"><B>所有类</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 摘要: 嵌套 | 字段 | 构造方法 | <A HREF="#method_summary">方法</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">详细信息: 字段 | 构造方法 | <A HREF="#method_detail">方法</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">java.util</FONT><BR>接口 Collection<E></H2><DL><DT><B>所有超级接口:</B> <DD><A HREF="../lang/Iterable.html" title="java.lang 中的接口">Iterable</A><E></DD></DL><DL><DT><B>所有已知子接口:</B> <DD><A HREF="concurrent/BlockingQueue.html" title="java.util.concurrent 中的接口">BlockingQueue</A><E>, <A HREF="List.html" title="java.util 中的接口">List</A><E>, <A HREF="Queue.html" title="java.util 中的接口">Queue</A><E>, <A HREF="Set.html" title="java.util 中的接口">Set</A><E>, <A HREF="SortedSet.html" title="java.util 中的接口">SortedSet</A><E></DD></DL><DL><DT><B>所有已知实现类:</B> <DD><A HREF="AbstractCollection.html" title="java.util 中的类">AbstractCollection</A>, <A HREF="AbstractList.html" title="java.util 中的类">AbstractList</A>, <A HREF="AbstractQueue.html" title="java.util 中的类">AbstractQueue</A>, <A HREF="AbstractSequentialList.html" title="java.util 中的类">AbstractSequentialList</A>, <A HREF="AbstractSet.html" title="java.util 中的类">AbstractSet</A>, <A HREF="concurrent/ArrayBlockingQueue.html" title="java.util.concurrent 中的类">ArrayBlockingQueue</A>, <A HREF="ArrayList.html" title="java.util 中的类">ArrayList</A>, <A HREF="concurrent/ConcurrentLinkedQueue.html" title="java.util.concurrent 中的类">ConcurrentLinkedQueue</A>, <A HREF="concurrent/CopyOnWriteArrayList.html" title="java.util.concurrent 中的类">CopyOnWriteArrayList</A>, <A HREF="concurrent/CopyOnWriteArraySet.html" title="java.util.concurrent 中的类">CopyOnWriteArraySet</A>, <A HREF="concurrent/DelayQueue.html" title="java.util.concurrent 中的类">DelayQueue</A>, <A HREF="EnumSet.html" title="java.util 中的类">EnumSet</A>, <A HREF="HashSet.html" title="java.util 中的类">HashSet</A>, <A HREF="concurrent/LinkedBlockingQueue.html" title="java.util.concurrent 中的类">LinkedBlockingQueue</A>, <A HREF="LinkedHashSet.html" title="java.util 中的类">LinkedHashSet</A>, <A HREF="LinkedList.html" title="java.util 中的类">LinkedList</A>, <A HREF="concurrent/PriorityBlockingQueue.html" title="java.util.concurrent 中的类">PriorityBlockingQueue</A>, <A HREF="PriorityQueue.html" title="java.util 中的类">PriorityQueue</A>, <A HREF="Stack.html" title="java.util 中的类">Stack</A>, <A HREF="concurrent/SynchronousQueue.html" title="java.util.concurrent 中的类">SynchronousQueue</A>, <A HREF="TreeSet.html" title="java.util 中的类">TreeSet</A>, <A HREF="Vector.html" title="java.util 中的类">Vector</A></DD></DL><HR><DL><DT><PRE>public interface <B>Collection<E></B><DT>extends <A HREF="../lang/Iterable.html" title="java.lang 中的接口">Iterable</A><E></DL></PRE><P><i>Collection 层次结构</i> 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的<i>元素</i>。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何<i>直接</i> 实现:它提供更具体的子接口(如 <tt>Set</tt> 和 <tt>List</tt>)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。<p><i>包 (bag)</i> 或<i>多集合 (multiset)</i>(可能包含重复元素的无序 collection)应该直接实现此接口。 <p>所有通用的 <tt>Collection</tt> 实现类(通常通过它的一个子接口间接实现 <tt>Collection</tt>)应该提供两个“标准”构造方法:一个是 void(无参数)构造方法,用于创建空 collection;另一个是带有 <tt>Collection</tt> 类型单参数的构造方法,用于创建一个具有与其参数相同元素新的 collection。实际上,后者允许用户复制任何 collection,以生成所需实现类型的一个等效 collection。尽管无法强制执行此约定(因为接口不能包含构造方法),但是 Java 平台库中所有通用的 <tt>Collection</tt> 实现都遵从它。<p>此接口中包含的“破坏性”方法,是指可修改其所操作的 collection 的那些方法,如果此 collection 不支持该操作,则指定这些方法抛出 <tt>UnsupportedOperationException</tt>。如果是这样,那么在调用对该 collection 无效时,这些方法可能,但并不一定抛出 <tt>UnsupportedOperationException</tt>。例如,如果要添加的 collection 为空且不可修改,则对该 collection 调用 <A HREF="Collection.html#addAll(java.util.Collection)"><CODE>addAll(Collection)</CODE></A> 方法时,可能但并不一定抛出异常。<p>一些 collection 实现对它们可能包含的元素有所限制。例如,某些实现禁止 null 元素,某些实现则对元素的类型有限制。试图添加不合格的元素将抛出一个未经检查的异常,通常是 <tt>NullPointerException</tt> 或 <tt>ClassCastException</tt>。试图查询是否存在不合格的元素可能抛出一个异常,或者只是简单地返回 false;某些实现将表现出前一种行为,而某些实现则表现后一种。较为常见的是,试图对某个不合格的元素执行操作且该操作的完成不会导致将不合格的元素插入 collection 中,将可能抛出一个异常,也可能操作成功,这取决于实现本身。这样的异常在此接口的规范中标记为“可选”。 <p>此接口是 <a href="../../../guide/collections/index.html">Java Collections Framework</a> 的成员。<p>Collections Framework 接口中的很多方法是根据 <A HREF="../lang/Object.html#equals(java.lang.Object)"><CODE>equals</CODE></A> 方法定义的。例如,<A HREF="Collection.html#contains(java.lang.Object)"><CODE>contains(Object o)</CODE></A> 方法的规范声明:“当且仅当此 collection 包含至少一个满足 <tt>(o==null ? e==null :o.equals(e))</tt> 的元素 <tt>e</tt> 时,才返回 <tt>true</tt>。”<i>不</i> 应将此规范理解为它暗指调用具有非空参数 <tt>o</tt> 的 <tt>Collection.contains</tt> 方法会导致为任意的 <tt>e</tt> 元素调用 <tt>o.equals(e)</tt> 方法。可随意对各种实现执行优化,只要避免调用 <tt>equals</tt> 即可,例如,通过首先比较两个元素的哈希代码。(<A HREF="../lang/Object.html#hashCode()"><CODE>Object.hashCode()</CODE></A> 规范保证哈希代码不相等的两个对象不会相等)。较为常见的是,各种 Collections Framework 接口的实现可随意利用基础 <A HREF="../lang/Object.html" title="java.lang 中的类"><CODE>Object</CODE></A> 方法的指定行为,而不管实现程序认为它是否合适。<P><P><DL><DT><B>从以下版本开始:</B></DT> <DD>1.2</DD><DT><B>另请参见:</B><DD><A HREF="Set.html" title="java.util 中的接口"><CODE>Set</CODE></A>, <A HREF="List.html" title="java.util 中的接口"><CODE>List</CODE></A>, <A HREF="Map.html" title="java.util 中的接口"><CODE>Map</CODE></A>, <A HREF="SortedSet.html" title="java.util 中的接口"><CODE>SortedSet</CODE></A>, <A HREF="SortedMap.html" title="java.util 中的接口"><CODE>SortedMap</CODE></A>, <A HREF="HashSet.html" title="java.util 中的类"><CODE>HashSet</CODE></A>, <A HREF="TreeSet.html" title="java.util 中的类"><CODE>TreeSet</CODE></A>, <A HREF="ArrayList.html" title="java.util 中的类"><CODE>ArrayList</CODE></A>, <A HREF="LinkedList.html" title="java.util 中的类"><CODE>LinkedList</CODE></A>, <A HREF="Vector.html" title="java.util 中的类"><CODE>Vector</CODE></A>, <A HREF="Collections.html" title="java.util 中的类"><CODE>Collections</CODE></A>, <A HREF="Arrays.html" title="java.util 中的类"><CODE>Arrays</CODE></A>, <A HREF="AbstractCollection.html" title="java.util 中的类"><CODE>AbstractCollection</CODE></A></DL><HR><P><!-- ========== METHOD SUMMARY =========== --><A NAME="method_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"><B>方法摘要</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> boolean</CODE></FONT></TD><TD><CODE><B><A HREF="Collection.html#add(E)">add</A></B>(<A HREF="Collection.html" title="Collection 中的类型参数">E</A> o)</CODE><BR> 确保此 collection 包含指定的元素(可选操作)。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> boolean</CODE></FONT></TD><TD><CODE><B><A HREF="Collection.html#addAll(java.util.Collection)">addAll</A></B>(<A HREF="Collection.html" title="java.util 中的接口">Collection</A><? extends <A HREF="Collection.html" title="Collection 中的类型参数">E</A>> c)</CODE><BR> 将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="Collection.html#clear()">clear</A></B>()</CODE><BR> 移除此 collection 中的所有元素(可选操作)。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> boolean</CODE></FONT></TD><TD><CODE><B><A HREF="Collection.html#contains(java.lang.Object)">contains</A></B>(<A HREF="../lang/Object.html" title="java.lang 中的类">Object</A> o)</CODE><BR> 如果此 collection 包含指定的元素,则返回 <tt>true</tt>。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> boolean</CODE></FONT></TD><TD><CODE><B><A HREF="Collection.html#containsAll(java.util.Collection)">containsAll</A></B>(<A HREF="Collection.html" title="java.util 中的接口">Collection</A><?> c)</CODE><BR> 如果此 collection 包含指定 collection 中的所有元素,则返回 <tt>true</tt>。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> boolean</CODE></FONT></TD><TD><CODE><B><A HREF="Collection.html#equals(java.lang.Object)">equals</A></B>(<A HREF="../lang/Object.html" title="java.lang 中的类">Object</A> o)</CODE><BR> 比较此 collection 与指定对象是否相等。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> int</CODE></FONT></TD><TD><CODE><B><A HREF="Collection.html#hashCode()">hashCode</A></B>()</CODE><BR> 返回此 collection 的哈希代码值。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> boolean</CODE></FONT></TD><TD><CODE><B><A HREF="Collection.html#isEmpty()">isEmpty</A></B>()</CODE><BR> 如果此 collection 不包含元素,则返回 <tt>true</tt>。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> <A HREF="Iterator.html" title="java.util 中的接口">Iterator</A><<A HREF="Collection.html" title="Collection 中的类型参数">E</A>></CODE></FONT></TD><TD><CODE><B><A HREF="Collection.html#iterator()">iterator</A></B>()</CODE><BR> 返回在此 collection 的元素上进行迭代的迭代器。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> boolean</CODE></FONT></TD>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?