concurrenthashmap.html
来自「j2se5-api-zh,java文档的中文版本」· HTML 代码 · 共 899 行 · 第 1/4 页
HTML
899 行
<!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:51:33 CST 2005 --><META http-equiv="Content-Type" content="text/html; charset=gb2312"><TITLE>ConcurrentHashMap (Java 2 Platform SE 5.0)</TITLE><META NAME="keywords" CONTENT="java.util.concurrent.ConcurrentHashMap class"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="ConcurrentHashMap (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/ConcurrentHashMap.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="CompletionService.html" title="java.util.concurrent 中的接口"><B>上一个类</B></A> <A HREF="ConcurrentLinkedQueue.html" title="java.util.concurrent 中的类"><B>下一个类</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html@java_2Futil_2Fconcurrent_2FConcurrentHashMap.html" target="_top"><B>框架</B></A> <A HREF="ConcurrentHashMap.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="#constructor_summary">构造方法</A> | <A HREF="#method_summary">方法</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">详细信息: 字段 | <A HREF="#constructor_detail">构造方法</A> | <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.concurrent</FONT><BR>类 ConcurrentHashMap<K,V></H2><PRE><A HREF="../../lang/Object.html" title="java.lang 中的类">java.lang.Object</A> <IMG SRC="../../../resources/inherit.gif" ALT="继承者 "><A HREF="../AbstractMap.html" title="java.util 中的类">java.util.AbstractMap</A><K,V> <IMG SRC="../../../resources/inherit.gif" ALT="继承者 "><B>java.util.concurrent.ConcurrentHashMap<K,V></B></PRE><DL><DT><DT><B>类型参数:</B><DD><CODE>K</CODE> - 此映射维护的键的类型<DD><CODE>V</CODE> - 映射值的类</DL><DL><DT><B>所有已实现的接口:</B> <DD>java.io.Serializable, <A HREF="ConcurrentMap.html" title="java.util.concurrent 中的接口">ConcurrentMap</A><K,V>, <A HREF="../Map.html" title="java.util 中的接口">Map</A><K,V></DD></DL><HR><DL><DT><PRE>public class <B>ConcurrentHashMap<K,V></B><DT>extends <A HREF="../AbstractMap.html" title="java.util 中的类">AbstractMap</A><K,V><DT>implements <A HREF="ConcurrentMap.html" title="java.util.concurrent 中的接口">ConcurrentMap</A><K,V>, java.io.Serializable</DL></PRE><P>支持完全并发检索及期望并发更新(可调整)的哈希表。此类遵守与 <A HREF="../Hashtable.html" title="java.util 中的类"><CODE>Hashtable</CODE></A> 相同的功能规范,并且包括各种版本的方法,分别对应于 <tt>Hashtable</tt> 的各个方法。不过,尽管所有操作都是线程安全的,但检索操作<em>并不</em> 锁定,并且<em>不</em> 支持以阻止所有访问的方式锁定整个表。在依赖于线程安全而非同步细节的程序中,此类可以与 <tt>Hashtable</tt> 实现完全互操作。<p> 检索操作(包括 <tt>get</tt>)通常不会受阻塞,因此,可能与更新操作交迭(包括 <tt>put</tt> 和 <tt>remove</tt>)。检索会影响最近<em>完成的</em> 更新操作的结果。对于一些聚合操作,比如 <tt>putAll</tt> 和 <tt>clear</tt>,并发检索可能只影响某些条目的插入和移除。类似地,在创建迭代器/枚举时或自此之后,Iterators 和 Enumerations 返回在某一时间点上影响哈希表状态的元素。它们<em>不会</em> 抛出 <A HREF="../ConcurrentModificationException.html" title="java.util 中的类"><CODE>ConcurrentModificationException</CODE></A>。不过,迭代器被设计成每次仅由一个线程使用。<p> 所允许的更新操作之间的并发由可选的 <tt>concurrencyLevel</tt> 构造方法参数(默认值为 16)引导,该参数将作为内部调整大小的一个提示。表在内部分区,以尽量允许给定的并发更新数,而不发生争用。因为哈希表中的位置基本上是随机的,所以实际的并发将各不相同。理想情况下,选择的值应该能够容纳并发修改该表实际所需的线程。使用一个比实际需要高很多的值会浪费空间和时间,而使用一个低很多的值则可能导致线程争用。不过只要是在数量级范围内的高估或低估,通常不会带来非常显著的影响。当仅有一个线程将执行修改操作,而其他所有线程都只是执行读取操作时,即认为该值合适。此外,重新调整此类或其他任何类哈希表的大小都是一个相对较慢的操作,因此,如果可能,较好的做法是在构造方法中提供表的期望表大小的估计值。<p>此类及其视图和迭代器实现了 <A HREF="../Map.html" title="java.util 中的接口"><CODE>Map</CODE></A> 和 <A HREF="../Iterator.html" title="java.util 中的接口"><CODE>Iterator</CODE></A> 接口的所有<em>可选</em> 方法。<p>此类与 <A HREF="../Hashtable.html" title="java.util 中的类"><CODE>Hashtable</CODE></A> 相似,但与 <A HREF="../HashMap.html" title="java.util 中的类"><CODE>HashMap</CODE></A> 不同,它“不”允许将 <tt>null</tt> 用作键或值。<p>此类是 <a href="../../../../guide/collections/index.html">Java Collections Framework</a> 的成员。<P><P><DL><DT><B>从以下版本开始:</B></DT> <DD>1.5</DD><DT><B>另请参见:</B><DD><A HREF="../../../serialized-form.html#java.util.concurrent.ConcurrentHashMap">序列化表格</A></DL><HR><P><!-- ======== NESTED CLASS SUMMARY ======== --><A NAME="nested_class_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></TABLE> <A NAME="nested_classes_inherited_from_class_java.util.Map"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TH ALIGN="left"><B>从接口 java.util.<A HREF="../Map.html" title="java.util 中的接口">Map</A> 继承的嵌套类/接口</B></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="../Map.Entry.html" title="java.util 中的接口">Map.Entry</A><<A HREF="../Map.Entry.html" title="Map.Entry 中的类型参数">K</A>,<A HREF="../Map.Entry.html" title="Map.Entry 中的类型参数">V</A>></CODE></TD></TR></TABLE> <!-- ======== CONSTRUCTOR SUMMARY ======== --><A NAME="constructor_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><CODE><B><A HREF="ConcurrentHashMap.html#ConcurrentHashMap()">ConcurrentHashMap</A></B>()</CODE><BR> 创建一个带有默认初始容量、加载因子和并发级别的新的空映射。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><B><A HREF="ConcurrentHashMap.html#ConcurrentHashMap(int)">ConcurrentHashMap</A></B>(int initialCapacity)</CODE><BR> 创建一个带有指定初始容量、默认加载因子和并发级别的新的空映射。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><B><A HREF="ConcurrentHashMap.html#ConcurrentHashMap(int, float, int)">ConcurrentHashMap</A></B>(int initialCapacity, float loadFactor, int concurrencyLevel)</CODE><BR> 创建一个带有指定初始容量、加载因子和并发级别的新的空映射。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><B><A HREF="ConcurrentHashMap.html#ConcurrentHashMap(java.util.Map)">ConcurrentHashMap</A></B>(<A HREF="../Map.html" title="java.util 中的接口">Map</A><? extends <A HREF="ConcurrentHashMap.html" title="ConcurrentHashMap 中的类型参数">K</A>,? extends <A HREF="ConcurrentHashMap.html" title="ConcurrentHashMap 中的类型参数">V</A>> t)</CODE><BR> 创建一个与给定映射具有相同映射关系的新映射。</TD></TR></TABLE> <!-- ========== 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> void</CODE></FONT></TD><TD><CODE><B><A HREF="ConcurrentHashMap.html#clear()">clear</A></B>()</CODE><BR> 从该映射中移除所有映射关系。</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="ConcurrentHashMap.html#contains(java.lang.Object)">contains</A></B>(<A HREF="../../lang/Object.html" title="java.lang 中的类">Object</A> value)</CODE><BR> 一种遗留方法,测试此表中是否有一些与指定值存在映射关系的键。</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="ConcurrentHashMap.html#containsKey(java.lang.Object)">containsKey</A></B>(<A HREF="../../lang/Object.html" title="java.lang 中的类">Object</A> key)</CODE><BR> 测试指定对象是否为此表中的键。</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="ConcurrentHashMap.html#containsValue(java.lang.Object)">containsValue</A></B>(<A HREF="../../lang/Object.html" title="java.lang 中的类">Object</A> value)</CODE><BR> 如果此映射将一个或多个键映射到指定值,则返回 <tt>true</tt>。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor">
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?