abstractlist.html

来自「j2se5-api-zh,java文档的中文版本」· HTML 代码 · 共 825 行 · 第 1/4 页

HTML
825
字号
<A NAME="listIterator()"><!-- --></A><H3>listIterator</H3><PRE>public <A HREF="ListIterator.html" title="java.util 中的接口">ListIterator</A>&lt;<A HREF="AbstractList.html" title="AbstractList 中的类型参数">E</A>&gt; <B>listIterator</B>()</PRE><DL><DD>返回此列表中的元素的迭代器(按适当顺序)。此实现返回 <tt>listIterator(0)</tt>。<P><DD><DL><DT><B>指定者:</B><DD>接口 <CODE><A HREF="List.html" title="java.util 中的接口">List</A>&lt;<A HREF="AbstractList.html" title="AbstractList 中的类型参数">E</A>&gt;</CODE> 中的 <CODE><A HREF="List.html#listIterator()">listIterator</A></CODE></DL></DD><DD><DL><DT><B>返回:</B><DD>此列表中的元素的迭代器(按适当顺序)。<DT><B>另请参见:</B><DD><A HREF="AbstractList.html#listIterator(int)"><CODE>listIterator(int)</CODE></A></DL></DD></DL><HR><A NAME="listIterator(int)"><!-- --></A><H3>listIterator</H3><PRE>public <A HREF="ListIterator.html" title="java.util 中的接口">ListIterator</A>&lt;<A HREF="AbstractList.html" title="AbstractList 中的类型参数">E</A>&gt; <B>listIterator</B>(int&nbsp;index)</PRE><DL><DD>从列表中的指定位置开始,返回此列表中的元素的列表迭代器(按适当顺序)。指定的索引指示初始调用 <tt>next</tt> 方法将返回的第一个元素。对 <tt>previous</tt> 方法的初始调用将返回指定索引减 1 处的元素。<p>此实现返回 <tt>ListIterator</tt> 接口的直接实现,扩展了由 <tt>iterator()</tt> 方法返回的 <tt>Iterator</tt> 接口的实现。<tt>ListIterator</tt> 实现依赖于底层 list 的 <tt>get(int)</tt>、<tt>set(int, Object)</tt>、<tt>add(int, Object)</tt> 和 <tt>remove(int)</tt> 方法。<p>注意,除非重写列表的 <tt>remove(int)</tt>、<tt>set(int, Object)</tt> 和 <tt>add(int, Object)</tt> 方法,否则此实现返回的列表迭代器将抛出 <tt>UnsupportedOperationException</tt> 来响应其 <tt>remove</tt>、<tt>set</tt> 和 <tt>add</tt>。<p>在面临并发修改时,可以使此实现抛出运行时异常,如 (protected) <tt>modCount</tt> 字段规范中的描述。<P><DD><DL><DT><B>指定者:</B><DD>接口 <CODE><A HREF="List.html" title="java.util 中的接口">List</A>&lt;<A HREF="AbstractList.html" title="AbstractList 中的类型参数">E</A>&gt;</CODE> 中的 <CODE><A HREF="List.html#listIterator(int)">listIterator</A></CODE></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>index</CODE> - 要从列表迭代器返回的第一个元素的索引(通过调用 <tt>next</tt> 方法)。<DT><B>返回:</B><DD>此列表中的元素的列表迭代器(按适当顺序),而且从列表中的指定位置开始。<DT><B>抛出:</B><DD><CODE><A HREF="../lang/IndexOutOfBoundsException.html" title="java.lang 中的类">IndexOutOfBoundsException</A></CODE> - 如果指定的索引超出范围 (<tt>index &lt; 0 || index &gt; size()</tt>)。<DT><B>另请参见:</B><DD><A HREF="AbstractList.html#modCount"><CODE>modCount</CODE></A></DL></DD></DL><HR><A NAME="subList(int, int)"><!-- --></A><H3>subList</H3><PRE>public <A HREF="List.html" title="java.util 中的接口">List</A>&lt;<A HREF="AbstractList.html" title="AbstractList 中的类型参数">E</A>&gt; <B>subList</B>(int&nbsp;fromIndex,                       int&nbsp;toIndex)</PRE><DL><DD>返回此列表 <tt>fromIndex</tt>(包括)和 <tt>toIndex</tt>(不包括)之间部分的视图。(如果 <tt>fromIndex</tt> 和 <tt>toIndex</tt> 相等,则返回的列表为空。)返回的列表由此列表支持,因此返回列表中的更改将反映在此列表中,反之亦然。返回的列表支持此列表支持的所有可选列表操作。<p>此方法省去了显式范围操作(此操作通常针对数组存在)。通过操作 subList 视图而非整个列表,期望列表的任何操作可用作范围操作。例如,下面的语句从列表中移除了某个范围内的元素: <pre>     list.subList(from, to).clear(); </pre>可以对 <tt>indexOf</tt> 和 <tt>lastIndexOf</tt> 构造类似的语句,而且 <tt>Collections</tt> 类中的所有算法都可以应用于 subList。<p> 如果以任何其他方式(而不是通过返回的列表)<i>从结构上修改</i> 了底层列表(即此列表),则此方法返回的列表语义将变为未定义。(从结构上修改是指更改列表的大小,或者以其他方式打乱列表,使正在进行的迭代产生错误的结果。)<p>此实现返回一个为 <tt>AbstractList</tt> 创建子类的列表。子类在 private 字段中存储底层列表中 subList 的偏移量、subList 的大小(随其生存期而变化)以及底层列表的预期 <tt>modCount</tt> 值。子类有两个变体,其中一个实现 <tt>RandomAccess</tt>。如果此列表实现 <tt>RandomAccess</tt>,则返回的列表将为实现 <tt>RandomAccess</tt> 的一个子类实例。<p>子类的 <tt>set(int, Object)</tt>、<tt>get(int)</tt>、<tt>add(int, Object)</tt>、<tt>remove(int)</tt>、<tt>addAll(int, Collection)</tt> 和 <tt>removeRange(int, int)</tt> 方法在对索引进行边界检查和调整偏移量之后,都委托给底层抽象列表上的相应方法。<tt>addAll(Collection c)</tt> 方法仅返回 <tt>addAll(size, c)</tt>。<p><tt>listIterator(int)</tt> 方法返回底层列表的列表迭代器上的“包装器对象”,使用底层列表上的相应方法创建该迭代器。<tt>iterator</tt> 方法仅返回 <tt>listIterator()</tt>,且 <tt>size</tt> 方法仅返回子类的 <tt>size</tt> 字段。<p>所有方法都将首先检查底层列表的实际 <tt>modCount</tt> 是否与其预期的值相等,并且在不相等时将抛出 <tt>ConcurrentModificationException</tt>。<P><DD><DL><DT><B>指定者:</B><DD>接口 <CODE><A HREF="List.html" title="java.util 中的接口">List</A>&lt;<A HREF="AbstractList.html" title="AbstractList 中的类型参数">E</A>&gt;</CODE> 中的 <CODE><A HREF="List.html#subList(int, int)">subList</A></CODE></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>fromIndex</CODE> - subList 的低端点(包括)。<DD><CODE>toIndex</CODE> - subList 的高端点(不包括)。<DT><B>返回:</B><DD>列表中指定范围的视图。<DT><B>抛出:</B><DD><CODE><A HREF="../lang/IndexOutOfBoundsException.html" title="java.lang 中的类">IndexOutOfBoundsException</A></CODE> - 端点索引值超出范围 <tt>(fromIndex &lt; 0 || toIndex &gt; size)</tt><DD><CODE><A HREF="../lang/IllegalArgumentException.html" title="java.lang 中的类">IllegalArgumentException</A></CODE> - 端点索引顺序颠倒 <tt>(fromIndex &gt; toIndex)</tt></DL></DD></DL><HR><A NAME="equals(java.lang.Object)"><!-- --></A><H3>equals</H3><PRE>public boolean <B>equals</B>(<A HREF="../lang/Object.html" title="java.lang 中的类">Object</A>&nbsp;o)</PRE><DL><DD>将指定的对象与此列表进行相等性比较。当且仅当指定的对象也是一个列表,两个列表具有相同的大小,而且两个列表中所有相应的元素对都<i>相等</i> 时,才返回 <tt>true</tt>。(如果 <tt>(e1==null ? e2==null :e1.equals(e2))</tt>,则元素 <tt>e1</tt> 和 <tt>e2</tt> <i>相等</i>。)换句话说,如果两个列表包含相同的元素,且元素的顺序也相同,才将它们定义为相等。<p>此实现首先检查指定的对象是否为此列表。如果是,则返回 <tt>true</tt>;否则,它将检查指定的对象是否为一个列表。如果不是,它将返回 <tt>false</tt>;如果是,它将迭代两个列表,比较相应的元素对。如果有任何比较结果返回 <tt>false</tt>,则此方法将返回 <tt>false</tt>。如果某中某个迭代器在另一迭代器之前完全迭代元素,则会返回 <tt>false</tt>(因为列表是不等长的);否则,在迭代完成时将返回 <tt>true</tt>。<P><DD><DL><DT><B>指定者:</B><DD>接口 <CODE><A HREF="Collection.html" title="java.util 中的接口">Collection</A>&lt;<A HREF="AbstractList.html" title="AbstractList 中的类型参数">E</A>&gt;</CODE> 中的 <CODE><A HREF="Collection.html#equals(java.lang.Object)">equals</A></CODE><DT><B>指定者:</B><DD>接口 <CODE><A HREF="List.html" title="java.util 中的接口">List</A>&lt;<A HREF="AbstractList.html" title="AbstractList 中的类型参数">E</A>&gt;</CODE> 中的 <CODE><A HREF="List.html#equals(java.lang.Object)">equals</A></CODE><DT><B>覆盖:</B><DD>类 <CODE><A HREF="../lang/Object.html" title="java.lang 中的类">Object</A></CODE> 中的 <CODE><A HREF="../lang/Object.html#equals(java.lang.Object)">equals</A></CODE></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>o</CODE> - 与此列表进行相等性比较的对象。<DT><B>返回:</B><DD>如果指定对象与此列表相等,则返回 <tt>true</tt>。<DT><B>另请参见:</B><DD><A HREF="../lang/Object.html#hashCode()"><CODE>Object.hashCode()</CODE></A>, <A HREF="Hashtable.html" title="java.util 中的类"><CODE>Hashtable</CODE></A></DL></DD></DL><HR><A NAME="hashCode()"><!-- --></A><H3>hashCode</H3><PRE>public int <B>hashCode</B>()</PRE><DL><DD>返回此列表的哈希代码值。<p>此实现准确使用在 <tt>List.hashCode</tt> 方法的文档中用于定义列表哈希函数的代码。<P><DD><DL><DT><B>指定者:</B><DD>接口 <CODE><A HREF="Collection.html" title="java.util 中的接口">Collection</A>&lt;<A HREF="AbstractList.html" title="AbstractList 中的类型参数">E</A>&gt;</CODE> 中的 <CODE><A HREF="Collection.html#hashCode()">hashCode</A></CODE><DT><B>指定者:</B><DD>接口 <CODE><A HREF="List.html" title="java.util 中的接口">List</A>&lt;<A HREF="AbstractList.html" title="AbstractList 中的类型参数">E</A>&gt;</CODE> 中的 <CODE><A HREF="List.html#hashCode()">hashCode</A></CODE><DT><B>覆盖:</B><DD>类 <CODE><A HREF="../lang/Object.html" title="java.lang 中的类">Object</A></CODE> 中的 <CODE><A HREF="../lang/Object.html#hashCode()">hashCode</A></CODE></DL></DD><DD><DL><DT><B>返回:</B><DD>此列表的哈希代码值。<DT><B>另请参见:</B><DD><A HREF="../lang/Object.html#equals(java.lang.Object)"><CODE>Object.equals(java.lang.Object)</CODE></A>, <A HREF="Hashtable.html" title="java.util 中的类"><CODE>Hashtable</CODE></A></DL></DD></DL><HR><A NAME="removeRange(int, int)"><!-- --></A><H3>removeRange</H3><PRE>protected void <B>removeRange</B>(int&nbsp;fromIndex,                           int&nbsp;toIndex)</PRE><DL><DD>从此列表中移除其索引在 <tt>fromIndex</tt>(包括)和 <tt>toIndex</tt>(不包括)之间的所有元素。向左移动所有后续元素(减小其索引)。此调用缩短了 ArrayList,将其减少了 <tt>(toIndex - fromIndex)</tt> 个元素。(如果 <tt>toIndex==fromIndex</tt>,则此操作无效。)<p>此方法由此列表及其 subList 上的 <tt>clear</tt> 操作调用。重写此方法以利用内部列表实现可以<i>极大地</i> 改进此列表及其 subList 上 <tt>clear</tt> 操作的性能。<p>此实现获取一个在 <tt>fromIndex</tt> 之前放置的列表迭代器,并在移除该范围内的元素前重复调用 <tt>ListIterator.next</tt>(后跟 <tt>ListIterator.remove</tt>)。<b>注:如果 <tt>ListIterator.remove</tt> 需要线性时间,则此实现需要平方时间。</b><P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>fromIndex</CODE> - 要移除的第一个元素的索引。<DD><CODE>toIndex</CODE> - 要移除的最后一个元素之后的索引。</DL></DD></DL><!-- ========= END OF CLASS DATA ========= --><HR><!-- ======= START OF BOTTOM NAVBAR ====== --><A NAME="navbar_bottom"><!-- --></A><A HREF="#skip-navbar_bottom" title="跳过导航链接"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_bottom_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>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractList.html"><FONT CLASS="NavBarFont1"><B>使用</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>  </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Java<sup><font size=-2>TM</font></sup>&nbsp;2&nbsp;Platform<br>Standard&nbsp;Ed. 5.0</b></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">&nbsp;<A HREF="AbstractCollection.html" title="java.util 中的类"><B>上一个类</B></A>&nbsp;&nbsp;<A HREF="AbstractMap.html" title="java.util 中的类"><B>下一个类</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">  <A HREF="../../index.html@java_2Futil_2FAbstractList.html" target="_top"><B>框架</B></A>  &nbsp;&nbsp;<A HREF="AbstractList.html" target="_top"><B>无框架</B></A>  &nbsp;&nbsp;<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">  摘要:&nbsp;嵌套&nbsp;|&nbsp;<A HREF="#field_summary">字段</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">详细信息:&nbsp;<A HREF="#field_detail">字段</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_bottom"></A><!-- ======== END OF BOTTOM NAVBAR ======= --><HR><font size="-1"><a href="../../../../../../../../java.sun.com/cgi-bin/bugreport.cgi">提交错误或意见</a><br>有关更多的 API 参考资料和开发人员文档,请参阅 <a href="../../../../../../../../java.sun.com/j2se/1.5.0/docs/relnotes/devdocs-vs-specs.html">Java 2 SDK SE 开发人员文档</a>。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。 <p>版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守<a href="../../../../../../../../java.sun.com/j2se/1.5.0/docs/relnotes/license.html">许可证条款</a>。另请参阅<a href="../../../../../../../../java.sun.com/docs/redist.html">文档重新分发政策</a>。</font></BODY></HTML>

⌨️ 快捷键说明

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