map.html
来自「j2se5-api-zh,java文档的中文版本」· HTML 代码 · 共 585 行 · 第 1/3 页
HTML
585 行
<!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:06 CST 2005 --><META http-equiv="Content-Type" content="text/html; charset=gb2312"><TITLE>Map (Java 2 Platform SE 5.0)</TITLE><META NAME="keywords" CONTENT="java.util.Map interface"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="Map (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/Map.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="Locale.html" title="java.util 中的类"><B>上一个类</B></A> <A HREF="Map.Entry.html" title="java.util 中的接口"><B>下一个类</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../index.html@java_2Futil_2FMap.html" target="_top"><B>框架</B></A> <A HREF="Map.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="#nested_class_summary">嵌套</A> | 字段 | 构造方法 | <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>接口 Map<K,V></H2><DL><DT><B>所有已知子接口:</B> <DD><A HREF="concurrent/ConcurrentMap.html" title="java.util.concurrent 中的接口">ConcurrentMap</A><K,V>, <A HREF="SortedMap.html" title="java.util 中的接口">SortedMap</A><K,V></DD></DL><DL><DT><B>所有已知实现类:</B> <DD><A HREF="AbstractMap.html" title="java.util 中的类">AbstractMap</A>, <A HREF="jar/Attributes.html" title="java.util.jar 中的类">Attributes</A>, <A HREF="concurrent/ConcurrentHashMap.html" title="java.util.concurrent 中的类">ConcurrentHashMap</A>, <A HREF="EnumMap.html" title="java.util 中的类">EnumMap</A>, <A HREF="HashMap.html" title="java.util 中的类">HashMap</A>, <A HREF="Hashtable.html" title="java.util 中的类">Hashtable</A>, <A HREF="IdentityHashMap.html" title="java.util 中的类">IdentityHashMap</A>, <A HREF="LinkedHashMap.html" title="java.util 中的类">LinkedHashMap</A>, <A HREF="Properties.html" title="java.util 中的类">Properties</A>, <A HREF="TreeMap.html" title="java.util 中的类">TreeMap</A>, <A HREF="WeakHashMap.html" title="java.util 中的类">WeakHashMap</A></DD></DL><HR><DL><DT><PRE>public interface <B>Map<K,V></B></DL></PRE><P>将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射一个值。<p>此接口代替 <tt>Dictionary</tt> 类,后者完全是一个抽象类,而不是一个接口。<p><tt>Map</tt> 接口提供三种<i>collection 视图</i>,允许以键集、值集合或键-值映射关系集的形式查看某个映射的内容。映射的<i>顺序</i> 定义为迭代器在映射的 collection 视图中返回其元素的顺序。某些映射实现可明确保证其顺序,如 <tt>TreeMap</tt> 类;某些映射实现则不保证顺序,如 <tt>HashMap</tt> 类。<p>注:将可变对象用作映射键时必须格外小心。当对象是映射中某个键时,如果以影响 equals 比较的方式更改了对象的值,则映射的行为就不是特定的。此项禁止的一个特殊情况是不允许某个映射包含其自身作为键。虽然允许某个映射包含其自身作为值,但建议要格外小心:在这样的映射上将无法再定义 equals 和 hashCode 方法。<p>所有通用的映射实现类应该提供两个“标准的”构造方法:一个 void(无参数)构造方法,用于创建空映射,另一个是带有 <tt>Map</tt> 类型单参数的构造方法,用于创建一个与其参数具有相同键-值映射关系的新映射。实际上,后一个构造方法允许用户复制任意映射,生成所需类的一个等价映射。尽管无法强制执行该建议(因为接口不能包含构造方法),但是 JDK 中所有通用的映射实现都遵从它。<p>该接口中包含的“破坏性”方法可修改其所操作的映射,如果此映射不支持该操作,则指定这些方法抛出 <tt>UnsupportedOperationException</tt>。如果是这样,那么在调用对该映射无效时,这些方法可能,但并不一定抛出 <tt>UnsupportedOperationException</tt>。例如,如果某个不可修改的映射(其映射关系是“重叠”的)为空,则对该映射调用 <A HREF="Map.html#putAll(java.util.Map)"><CODE>putAll(Map)</CODE></A> 方法时,可能但并不一定抛出异常。<p>某些映射实现对可能包含的键和值有所限制。例如,某些实现禁止空键和空值,而某些实现则对其键的类型有限制。尝试插入不合格的键或值会抛出一个未经检查的异常,通常是 <tt>NullPointerException</tt> 或 <tt>ClassCastException</tt>。试图查询是否存在不合格的键或值可能抛出异常,或者只是简单地返回 false;某些实现将表现出前一种行为,而某些实现则表现后一种。较为常见的是,试图对不合格的键或值执行操作且该操作的完成不会导致不合格的元素被插入映射中时,将可能抛出一个异常,也可能操作成功,这取决于实现本身。这样的异常在此接口的规范中标记为“可选”。<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="Map.html#containsKey(java.lang.Object)"><CODE>contains(Object key)</CODE></A> 方法的规范声明:“当且仅当此映射对于键 <tt>k</tt> 包含以下映射关系时才返回 <tt>true</tt>:<tt>(key==null ? k==null : key.equals(k))</tt>”。<i>不</i> 应将此规范解释为它暗指调用具有非空参数 <tt>key</tt> 的 <tt>Map.containsKey</tt> 会导致对任意的键 <tt>k</tt> 调用 <tt>key.equals(k)</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="HashMap.html" title="java.util 中的类"><CODE>HashMap</CODE></A>, <A HREF="TreeMap.html" title="java.util 中的类"><CODE>TreeMap</CODE></A>, <A HREF="Hashtable.html" title="java.util 中的类"><CODE>Hashtable</CODE></A>, <A HREF="SortedMap.html" title="java.util 中的接口"><CODE>SortedMap</CODE></A>, <A HREF="Collection.html" title="java.util 中的接口"><CODE>Collection</CODE></A>, <A HREF="Set.html" title="java.util 中的接口"><CODE>Set</CODE></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><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static interface</CODE></FONT></TD><TD><CODE><B><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>></B></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="Map.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="Map.html#containsKey(java.lang.Object)">containsKey</A></B>(<A HREF="../lang/Object.html" title="java.lang 中的类">Object</A> key)</CODE><BR> 如果此映射包含指定键的映射关系,则返回 <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="Map.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"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> <A HREF="Set.html" title="java.util 中的接口">Set</A><<A HREF="Map.Entry.html" title="java.util 中的接口">Map.Entry</A><<A HREF="Map.html" title="Map 中的类型参数">K</A>,<A HREF="Map.html" title="Map 中的类型参数">V</A>>></CODE></FONT></TD><TD><CODE><B><A HREF="Map.html#entrySet()">entrySet</A></B>()</CODE><BR> 返回此映射中包含的映射关系的 set 视图。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?