csdn技术中心 java集合框架(三).htm

来自「javn的Java书籍JAVA集合框架.rar我看过了是很有帮助的」· HTM 代码 · 共 847 行 · 第 1/5 页

HTM
847
字号
            align=center><SPAN lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><o:p></o:p></SPAN></P>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">通过这个集合的迭代器,您可以获得每一个条目</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(</SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">唯一获取方式</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">)</SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">的键或值并对值进行更改。当条目通过迭代器返回后,除非是迭代器自身的</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">remove()</SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">方法或者迭代器返回的条目的</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">setValue()</SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">方法,其余对源</SPAN><CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体">Map</SPAN></CODE><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">外部的修改都会导致此条目集变得无效,同时产生条目行为未定义。<SPAN 
            lang=EN-US><o:p></o:p></SPAN></SPAN></P>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l41 level1 lfo51"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(1)<SPAN 
            style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">Object getKey(): 
            </SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">返回条目的关键字</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><o:p></o:p></SPAN></P>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l41 level1 lfo51"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(2)<SPAN 
            style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">Object 
            getValue(): </SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">返回条目的值</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><o:p></o:p></SPAN></P>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l41 level1 lfo51"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(3)<SPAN 
            style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN><I><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">Object 
            setValue(Object value)</SPAN></I><SPAN lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">: </SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">将相关映像中的值改为</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">value</SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">,并且返回旧值</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><o:p></o:p></SPAN></P>
            <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B><SPAN lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana">4.2.</SPAN></B><B><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt"> 
            </SPAN></B><B><SPAN lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Courier New'">SortedMap</SPAN></B><B><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">接口</SPAN></B><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt"> 
            <o:p></o:p></SPAN></P>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">“集合框架”提供了个特殊的</SPAN><CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 宋体">Map</SPAN></CODE><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">接口:</SPAN><CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 宋体">SortedMap</SPAN></CODE><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">,它用来保持键的有序顺序。<SPAN 
            lang=EN-US><o:p></o:p></SPAN></SPAN></P>
            <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" 
            align=center><SPAN lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt"><o:p></o:p></SPAN></P>
            <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt" 
            align=center><SPAN lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"><IMG 
            alt="" hspace=0 
            src="CSDN技术中心 Java集合框架(三).files/CSDN_Dev_Image_2003-12-112327304.jpg" 
            align=baseline border=0></SPAN></P>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt">SortedMap</SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">接口为映像的视图</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt">(</SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">子集</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 华文楷体">)</SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">,包括两个端点提供了访问方法。除了排序是作用于映射的键以外,处理</SPAN><CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 宋体">SortedMap</SPAN></CODE><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">和处理</SPAN><CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 宋体">SortedSet</SPAN></CODE><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">一样。<SPAN 
            lang=EN-US><o:p></o:p></SPAN></SPAN></P>
            <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt"><SPAN 
            style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; 
            </SPAN>添加到</SPAN><CODE><SPAN lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 宋体">SortedMap</SPAN></CODE><CODE><SPAN 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">实现类</SPAN></CODE><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">的元素必须实现</SPAN><CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 宋体">Comparable</SPAN></CODE><CODE><SPAN 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">接口</SPAN></CODE><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">,否则您必须给它的构造函数提供一个</SPAN><CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 宋体">Comparator</SPAN></CODE><CODE><SPAN 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">接口的实现。</SPAN></CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt">TreeMap</SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">类是它的唯一一份实现。<SPAN 
            lang=EN-US><o:p></o:p></SPAN></SPAN></P>
            <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">『因为对于映射来说,每个键只能对应一个值,如果在添加一个键<SPAN 
            lang=EN-US>/值对时比较两个键产生了</SPAN></SPAN><SPAN lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt">0</SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">返回值(通过</SPAN><CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 宋体">Comparable</SPAN></CODE><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">的</SPAN><CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 宋体">compareTo(</SPAN></CODE><CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体">)</SPAN></CODE><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">方法或通过</SPAN><CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 宋体">Comparator</SPAN></CODE><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">的</SPAN><CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 宋体">compare(</SPAN></CODE><CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体">)</SPAN></CODE><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">方法),那么,原始键对应值被新的值替代。如果两个元素相等,那还好。但如果不相等,那么您就应该修改比较方法,让比较方法和 
            </SPAN><CODE><SPAN lang=EN-US 
            style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体">equals()</SPAN></CODE><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt"> 
            的效果一致。』<o:p></o:p></SPAN></P>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt">(1)<SPAN 
            style="mso-tab-count: 1"> </SPAN>Comparator comparator(): 
            </SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">返回对关键字进行排序时使用的比较器,如果使用</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt">Comparable</SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">接口的</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt">compareTo()</SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">方法对关键字进行比较,则返回</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt">null<o:p></o:p></SPAN></P>
            <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt">(2)<SPAN 
            style="mso-tab-count: 1"> </SPAN>Object firstKey(): </SPAN><SPAN 
            style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">返回映像中

⌨️ 快捷键说明

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