bitset.html

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

HTML
1,022
字号
<DD>返回第一个设置为 <code>false</code> 的位的索引,这发生在指定的起始索引或之后的索引上。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>fromIndex</CODE> - 开始检查的索引(包括)。<DT><B>返回:</B><DD>下一个已清除位的索引。<DT><B>抛出:</B><DD><CODE><A HREF="../lang/IndexOutOfBoundsException.html" title="java.lang 中的类">IndexOutOfBoundsException</A></CODE> - 如果指定的索引为负。<DT><B>从以下版本开始:</B></DT>  <DD>1.4</DD></DL></DD></DL><HR><A NAME="length()"><!-- --></A><H3>length</H3><PRE>public int <B>length</B>()</PRE><DL><DD>返回此 <code>BitSet</code> 的&ldquo;逻辑大小&rdquo;:<code>BitSet</code> 中最高设置位的索引加 1。如果 <code>BitSet</code> 中不包含任何设置位,则返回零。<P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>此 <code>BitSet</code> 的逻辑大小。<DT><B>从以下版本开始:</B></DT>  <DD>1.2</DD></DL></DD></DL><HR><A NAME="isEmpty()"><!-- --></A><H3>isEmpty</H3><PRE>public boolean <B>isEmpty</B>()</PRE><DL><DD>如果此 <code>BitSet</code> 中没有包含任何设置为 <code>true</code> 的位,则返回 ture。<P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>指示此 <code>BitSet</code> 是否为空的 boolean 值。<DT><B>从以下版本开始:</B></DT>  <DD>1.4</DD></DL></DD></DL><HR><A NAME="intersects(java.util.BitSet)"><!-- --></A><H3>intersects</H3><PRE>public boolean <B>intersects</B>(<A HREF="BitSet.html" title="java.util 中的类">BitSet</A>&nbsp;set)</PRE><DL><DD>如果指定的 <code>BitSet</code> 中有设置为 <code>true</code> 的位,并且在此 <code>BitSet</code> 中也将其设置为 <code>true</code>,则返回 ture。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>set</CODE> - 要与其交叉的 <code>BitSet</code><DT><B>返回:</B><DD>指示此 <code>BitSet</code> 与指定的 <code>BitSet</code> 是否存在交叉的 boolean 值。<DT><B>从以下版本开始:</B></DT>  <DD>1.4</DD></DL></DD></DL><HR><A NAME="cardinality()"><!-- --></A><H3>cardinality</H3><PRE>public int <B>cardinality</B>()</PRE><DL><DD>返回此 <code>BitSet</code> 中设置为 <tt>true</tt> 的位数。<P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>此 <code>BitSet</code> 中设置为 <tt>true</tt> 的位数。<DT><B>从以下版本开始:</B></DT>  <DD>1.4</DD></DL></DD></DL><HR><A NAME="and(java.util.BitSet)"><!-- --></A><H3>and</H3><PRE>public void <B>and</B>(<A HREF="BitSet.html" title="java.util 中的类">BitSet</A>&nbsp;set)</PRE><DL><DD>对此目标位 set 和参数位 set 执行逻辑<b>与</b>操作。当且仅当目标位 set 的初始值均为 <code>true</code>,并且位 set 参数中对应位的值也为 <code>true</code> 时才修改此位 set,这样其内每个位的值均为 <code>true</code>。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>set</CODE> - 一个位 set。</DL></DD></DL><HR><A NAME="or(java.util.BitSet)"><!-- --></A><H3>or</H3><PRE>public void <B>or</B>(<A HREF="BitSet.html" title="java.util 中的类">BitSet</A>&nbsp;set)</PRE><DL><DD>对此位 set 和位 set 参数执行逻辑<b>或</b>操作。当且仅当此位 set 中某个位的值为 <code>true</code>,或者位 set 参数中对应位的值为 <code>true</code> 时才修改此位 set,这样其内该位的值为 <code>true</code>。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>set</CODE> - 一个位 set。</DL></DD></DL><HR><A NAME="xor(java.util.BitSet)"><!-- --></A><H3>xor</H3><PRE>public void <B>xor</B>(<A HREF="BitSet.html" title="java.util 中的类">BitSet</A>&nbsp;set)</PRE><DL><DD>对此位 set 和位 set 参数执行逻辑<b>异或</b>操作。当且仅当以下语句之一成立时才修改此位 set,这样其内某个位的值为 <code>true</code>:  <ul><li>位的初始值为 <code>true</code>,并且参数对应位的值为 <code>false</code>。<li>位的初始值为 <code>false</code>,并且参数对应位的值为 <code>true</code>。  </ul><P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>set</CODE> - 一个位 set。</DL></DD></DL><HR><A NAME="andNot(java.util.BitSet)"><!-- --></A><H3>andNot</H3><PRE>public void <B>andNot</B>(<A HREF="BitSet.html" title="java.util 中的类">BitSet</A>&nbsp;set)</PRE><DL><DD>清除此 <code>BitSet</code> 中所有的位,其相应的位在指定的 <code>BitSet</code> 中已设置。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>set</CODE> - 用来屏蔽此 <code>BitSet</code> 的 <code>BitSet</code>。<DT><B>从以下版本开始:</B></DT>  <DD>JDK1.2</DD></DL></DD></DL><HR><A NAME="hashCode()"><!-- --></A><H3>hashCode</H3><PRE>public int <B>hashCode</B>()</PRE><DL><DD>返回此位 set 的哈希代码值。哈希代码只取决于此 <code>BitSet</code> 中已经设置的位。计算其哈希代码的算法可以描述如下。<p>假定 <code>BitSet</code> 中的位将存储在一个 <code>long</code> 型的数组(比方说叫 <code>bits</code>)中,那么当且仅当表达式 <pre>((k&gt;&gt;6) &lt; bits.length) &amp;&amp; ((bits[k&gt;&gt;6] &amp; (1L &lt;&lt; (bit &amp; 0x3F))) != 0)</pre>为 ture 时,才在 <code>BitSet</code> 中设置位 <code>k</code>(对于非负的 <code>k</code> 值)。然后以下定义的 <code>hashCode</code> 方法才是实际算法的正确实现: <pre> public int hashCode() {      long h = 1234;      for (int i = bits.length; --i &gt;= 0; ) {           h ^= bits[i] * (i + 1);      }      return (int)((h &gt;&gt; 32) ^ h); }</pre>注意,如果位的设置改变,则哈希代码值也将发生更改。<p>重写 <code>Object</code> 的 <code>hashCode</code> 方法。<P><DD><DL><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>此位 set 的哈希代码值。<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="size()"><!-- --></A><H3>size</H3><PRE>public int <B>size</B>()</PRE><DL><DD>返回此 <code>BitSet</code> 表示位值时实际使用空间的位数。set 中值最大的元素是第 size - 1 个元素。<P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>此位 set 中当前的位数。</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;obj)</PRE><DL><DD>将此对象与指定的对象进行比较。当且仅当参数不是 <code>null</code>,并且是一个与此位 set 有着完全相同的位 set 设置(为 <code>true</code>)的 <code>Bitset</code> 对象时,结果才为 <code>true</code>。也就是说,对于每个非负的 <code>int</code> 索引 <code>k</code>, <pre>((BitSet)obj).get(k) == this.get(k)</pre>一定为 ture。两个位 set 的当前大小不用进行比较。 <p>重写 <code>Object</code> 的 <code>equals</code> 方法。<P><DD><DL><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>obj</CODE> - 要与之比较的对象。<DT><B>返回:</B><DD>如果对象相同,则返回 <code>true</code>;否则返回 <code>false</code>。<DT><B>另请参见:</B><DD><A HREF="BitSet.html#size()"><CODE>size()</CODE></A></DL></DD></DL><HR><A NAME="clone()"><!-- --></A><H3>clone</H3><PRE>public <A HREF="../lang/Object.html" title="java.lang 中的类">Object</A> <B>clone</B>()</PRE><DL><DD>克隆此 <code>BitSet</code>,生成一个与之相等的新 <code>BitSet</code>。克隆得到的是另一个位 set,它与此位 set 有着完全相同的、设置为 <code>true</code>)的位和当前大小。 <p>重写 <code>Object</code> 的 <code>clone</code> 方法。<P><DD><DL><DT><B>覆盖:</B><DD>类 <CODE><A HREF="../lang/Object.html" title="java.lang 中的类">Object</A></CODE> 中的 <CODE><A HREF="../lang/Object.html#clone()">clone</A></CODE></DL></DD><DD><DL><DT><B>返回:</B><DD>此位 set 的一个克隆。<DT><B>另请参见:</B><DD><A HREF="BitSet.html#size()"><CODE>size()</CODE></A></DL></DD></DL><HR><A NAME="toString()"><!-- --></A><H3>toString</H3><PRE>public <A HREF="../lang/String.html" title="java.lang 中的类">String</A> <B>toString</B>()</PRE><DL><DD>返回此位 set 的字符串表示形式。对于此 <code>BitSet</code> 中包含的、处于已设置状态的每个位的索引,在结果中会包含这些索引的十进制表示形式。这些索引是按从低到高的顺序列出的,之间用 &quot;,&quot; 分隔(一个逗号加一个空格),并用括号括起来,结果形成了一组整数的常用数学符号。<p>重写 <code>Object</code> 的 <code>toString</code> 方法。<p>示例: <pre> BitSet drPepper = new BitSet();</pre>现在 <code>drPepper.toString()</code> 返回 &quot;<code>{}</code>&quot;。<p> <pre> drPepper.set(2);</pre>现在 <code>drPepper.toString()</code> 返回 &quot;<code>{2}</code>&quot;。<p> <pre> drPepper.set(4); drPepper.set(10);</pre>现在 <code>drPepper.toString()</code> 返回 &quot;<code>{2, 4, 10}</code>&quot;。<P><DD><DL><DT><B>覆盖:</B><DD>类 <CODE><A HREF="../lang/Object.html" title="java.lang 中的类">Object</A></CODE> 中的 <CODE><A HREF="../lang/Object.html#toString()">toString</A></CODE></DL></DD><DD><DL><DT><B>返回:</B><DD>此位 set 的字符串表示形式。</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/BitSet.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="Arrays.html" title="java.util 中的类"><B>上一个类</B></A>&nbsp;&nbsp;<A HREF="Calendar.html" title="java.util 中的类"><B>下一个类</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">  <A HREF="../../index.html@java_2Futil_2FBitSet.html" target="_top"><B>框架</B></A>  &nbsp;&nbsp;<A HREF="BitSet.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;字段&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;字段&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 + -
显示快捷键?