<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post">
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-e2445db1a8.css">
<div class="htmledit_views">
<h1 style="background-color:rgb(255,255,255);"><a name="t0"></a><span style="font-weight:400;font-size:18px;">Scala数组操作:</span></h1><h2 style="background-color:rgb(255,255,255);"><a name="t1"></a><a style="font-weight:400;" target="_blank"></a><span style="font-weight:400;font-size:18px;">1.定长数组</span></h2><span style="color:rgb(69,69,69);background-color:rgb(255,255,255);font-size:18px;">长度不变的数组的声明:<br></span><div class="dp-highlighter bg_java" style="font-family:Consolas, 'Courier New', Courier, mono, serif;font-size:12px;background-color:rgb(231,229,220);text-align:left;color:rgb(69,69,69);"><div class="bar"><div class="tools" style="font-size:9px;line-height:normal;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;color:#C0C0C0;background-color:rgb(248,248,248);border-left:3px solid rgb(108,226,108);border-right:1px solid rgb(231,229,220);"><strong>[java]</strong> <a href="http://blog.youkuaiyun.com/caiandyong/article/details/51992329#" rel="nofollow" class="ViewSource" title="view plain" style="background-image:url("../images/ico_plain.gif");background-position:left top;background-repeat:no-repeat;background-color:inherit;border:none;font-size:9px;width:16px;text-indent:-2000px;" target="_blank">view plain</a><span class="tracking-ad"> <a href="http://blog.youkuaiyun.com/caiandyong/article/details/51992329#" rel="nofollow" class="CopyToClipboard" title="copy" style="background-image:url("../images/ico_copy.gif");background-position:left top;background-repeat:no-repeat;background-color:inherit;border:none;font-size:9px;width:16px;text-indent:-2000px;" target="_blank">copy</a><div style="position: absolute; left: 540px; top: 483px; width: 16px; height: 16px; z-index: 99;"><embed id="ZeroClipboardMovie_1" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_1" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=1&width=16&height=16" wmode="transparent"></div><div style="position: absolute; left: 540px; top: 483px; width: 16px; height: 16px; z-index: 99;"><embed id="ZeroClipboardMovie_7" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_7" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=7&width=16&height=16" wmode="transparent"></div></span><div style="width:16px;"></div><span class="tracking-ad"></span></div></div><ol start="1" class="dp-j" style="border-top:none;border-right:1px solid rgb(231,229,220);border-bottom:none;border-left:none;background-color:rgb(255,255,255);color:rgb(92,92,92);"><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//长度为10的整数数组,所有元素初始化为0</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> val numArr = <span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">new</span><span style="border:none;background-color:inherit;"> Array[Int](</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">10</span><span style="border:none;background-color:inherit;">) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//长度为10的字符串数组,所有元素初始化为null</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">val numArr = <span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">new</span><span style="border:none;background-color:inherit;"> Array[String](</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">10</span><span style="border:none;background-color:inherit;">) </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//长度为2的数组,数据类型自动推断出来,已经提供初始值就不需要new关键字</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">val s = Array(<span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">"cai"</span><span style="border:none;background-color:inherit;">,</span><span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">"yong"</span><span style="border:none;background-color:inherit;">) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//通过ArrayName(index)访问数组元素和更改数组元素</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">val s = Array(<span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">"cai"</span><span style="border:none;background-color:inherit;">,</span><span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">"yong"</span><span style="border:none;background-color:inherit;">) </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> println(s(<span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;">)) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">s(<span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;">) = </span><span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">"haha"</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">println(s(<span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;">)) </span></span></li></ol></div><span style="color:rgb(69,69,69);background-color:rgb(255,255,255);">输出:</span><br style="color:rgb(69,69,69);background-color:rgb(255,255,255);"><span style="color:rgb(69,69,69);background-color:rgb(255,255,255);">cai</span><br style="color:rgb(69,69,69);background-color:rgb(255,255,255);"><span style="color:rgb(69,69,69);background-color:rgb(255,255,255);">haha</span><br style="color:rgb(69,69,69);background-color:rgb(255,255,255);"><br style="color:rgb(69,69,69);background-color:rgb(255,255,255);"><h2 style="background-color:rgb(255,255,255);"><a name="t2"></a><a style="font-weight:400;" target="_blank"></a><span style="font-weight:400;font-size:18px;">2.变长数组:数组缓冲</span></h2><span style="color:rgb(69,69,69);background-color:rgb(255,255,255);font-size:18px;">Scala也支持长度变化的数组,支持的数据结构是ArrayBuffer<br></span><div class="dp-highlighter bg_java" style="font-family:Consolas, 'Courier New', Courier, mono, serif;font-size:12px;background-color:rgb(231,229,220);text-align:left;color:rgb(69,69,69);"><div class="bar"><div class="tools" style="font-size:9px;line-height:normal;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;color:#C0C0C0;background-color:rgb(248,248,248);border-left:3px solid rgb(108,226,108);border-right:1px solid rgb(231,229,220);"><strong>[java]</strong> <a href="http://blog.youkuaiyun.com/caiandyong/article/details/51992329#" rel="nofollow" class="ViewSource" title="view plain" style="background-image:url("../images/ico_plain.gif");background-position:left top;background-repeat:no-repeat;background-color:inherit;border:none;font-size:9px;width:16px;text-indent:-2000px;" target="_blank">view plain</a><span class="tracking-ad"> <a href="http://blog.youkuaiyun.com/caiandyong/article/details/51992329#" rel="nofollow" class="CopyToClipboard" title="copy" style="background-image:url("../images/ico_copy.gif");background-position:left top;background-repeat:no-repeat;background-color:inherit;border:none;font-size:9px;width:16px;text-indent:-2000px;" target="_blank">copy</a><div style="position: absolute; left: 540px; top: 976px; width: 16px; height: 16px; z-index: 99;"><embed id="ZeroClipboardMovie_2" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_2" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=2&width=16&height=16" wmode="transparent"></div><div style="position: absolute; left: 540px; top: 976px; width: 16px; height: 16px; z-index: 99;"><embed id="ZeroClipboardMovie_8" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_8" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=8&width=16&height=16" wmode="transparent"></div></span><div style="width:16px;"></div><span class="tracking-ad"></span></div></div><ol start="1" class="dp-j" style="border-top:none;border-right:1px solid rgb(231,229,220);border-bottom:none;border-left:none;background-color:rgb(255,255,255);color:rgb(92,92,92);"><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//一个空的数组缓冲,准备存放整数</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> val ab = ArrayBuffer[Int]() </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> val ab2 = <span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">new</span><span style="border:none;background-color:inherit;"> ArrayBuffer[Int] </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//用+=在尾部添加元素</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">ab += <span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">2</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//在尾部添加多个元素</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">ab += (<span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">1</span><span style="border:none;background-color:inherit;">,</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">2</span><span style="border:none;background-color:inherit;">,</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">3</span><span style="border:none;background-color:inherit;">,</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">4</span><span style="border:none;background-color:inherit;">,</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">5</span><span style="border:none;background-color:inherit;">) </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//通过++=往数组缓冲后面追加集合</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> ab ++= Array(<span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">6</span><span style="border:none;background-color:inherit;">,</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">7</span><span style="border:none;background-color:inherit;">,</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">8</span><span style="border:none;background-color:inherit;">,</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">9</span><span style="border:none;background-color:inherit;">) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//使用trimEnd(n)移除尾部n个元素</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">ab.trimEnd(<span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">3</span><span style="border:none;background-color:inherit;">) </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//在下标3之前插入元素</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">ab.insert(<span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">3</span><span style="border:none;background-color:inherit;">, </span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">33</span><span style="border:none;background-color:inherit;">) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//插入多个元素,第一个值为index,后面所有的值为要插入的值</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">ab.insert(<span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">3</span><span style="border:none;background-color:inherit;">,</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">3</span><span style="border:none;background-color:inherit;">,</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">4</span><span style="border:none;background-color:inherit;">,</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">5</span><span style="border:none;background-color:inherit;">,</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">6</span><span style="border:none;background-color:inherit;">) </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//移除某个位置的元素</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">ab.remove(<span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">3</span><span style="border:none;background-color:inherit;">) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//移除从下标为n开始(包括n)的count个元素</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">ab.remove(n, count) </span></li></ol></div><br style="color:rgb(69,69,69);background-color:rgb(255,255,255);"><span style="color:rgb(69,69,69);background-color:rgb(255,255,255);"> 有时候需要构造一个Array,但是不知道具体要存放多少元素,可以先构造ArrayBuffer,再调用toArray方法转化成Array,同样,对Array调用toBuffer方法可以转成ArrayBuffer.</span><br style="color:rgb(69,69,69);background-color:rgb(255,255,255);"><br style="color:rgb(69,69,69);background-color:rgb(255,255,255);"><span style="color:rgb(69,69,69);background-color:rgb(255,255,255);">注:在数组缓冲的尾部进行元素添加移除操作的效率很高,但是在任意位置插入或移除元素的效率并不太高效,因为涉及到数组元素的移动。</span><br style="color:rgb(69,69,69);background-color:rgb(255,255,255);"><br style="color:rgb(69,69,69);background-color:rgb(255,255,255);"><br style="color:rgb(69,69,69);background-color:rgb(255,255,255);"><h2 style="background-color:rgb(255,255,255);"><a name="t3"></a><a style="font-weight:400;" target="_blank"></a><span style="font-weight:400;font-size:18px;">3.遍历数组</span></h2><span style="color:rgb(69,69,69);background-color:rgb(255,255,255);font-size:18px;"></span><div class="dp-highlighter bg_java" style="font-family:Consolas, 'Courier New', Courier, mono, serif;font-size:12px;background-color:rgb(231,229,220);text-align:left;color:rgb(69,69,69);"><div class="bar"><div class="tools" style="font-size:9px;line-height:normal;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;color:#C0C0C0;background-color:rgb(248,248,248);border-left:3px solid rgb(108,226,108);border-right:1px solid rgb(231,229,220);"><strong>[java]</strong> <a href="http://blog.youkuaiyun.com/caiandyong/article/details/51992329#" rel="nofollow" class="ViewSource" title="view plain" style="background-image:url("../images/ico_plain.gif");background-position:left top;background-repeat:no-repeat;background-color:inherit;border:none;font-size:9px;width:16px;text-indent:-2000px;" target="_blank">view plain</a><span class="tracking-ad"> <a href="http://blog.youkuaiyun.com/caiandyong/article/details/51992329#" rel="nofollow" class="CopyToClipboard" title="copy" style="background-image:url("../images/ico_copy.gif");background-position:left top;background-repeat:no-repeat;background-color:inherit;border:none;font-size:9px;width:16px;text-indent:-2000px;" target="_blank">copy</a><div style="position: absolute; left: 540px; top: 1747px; width: 16px; height: 16px; z-index: 99;"><embed id="ZeroClipboardMovie_3" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_3" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=3&width=16&height=16" wmode="transparent"></div><div style="position: absolute; left: 540px; top: 1747px; width: 16px; height: 16px; z-index: 99;"><embed id="ZeroClipboardMovie_9" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_9" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=9&width=16&height=16" wmode="transparent"></div></span><div style="width:16px;"></div><span class="tracking-ad"></span></div></div><ol start="1" class="dp-j" style="border-top:none;border-right:1px solid rgb(231,229,220);border-bottom:none;border-left:none;background-color:rgb(255,255,255);color:rgb(92,92,92);"><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//for循环遍历</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">for</span><span style="border:none;background-color:inherit;">(i <- </span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;"> until ab.length){ </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> print(ab(i) + <span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">", "</span><span style="border:none;background-color:inherit;">) </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> } </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//根据特定步长遍历数组</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">for</span><span style="border:none;background-color:inherit;">(i <- </span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;"> until (ab.length, </span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">2</span><span style="border:none;background-color:inherit;">)){ </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> print(ab(i) + <span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">", "</span><span style="border:none;background-color:inherit;">) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> } </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//从数组的尾部开始向前遍历数组</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">for</span><span style="border:none;background-color:inherit;">(i <- (</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;"> until ab.length).reverse){ </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> print(ab(i) + <span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">", "</span><span style="border:none;background-color:inherit;">) </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">} </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//类似于Java中的foreach遍历数组</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> <span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">for</span><span style="border:none;background-color:inherit;">(elem <- ab){ </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> print(elem + <span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">", "</span><span style="border:none;background-color:inherit;">) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">} </span></li></ol></div><h2 style="background-color:rgb(255,255,255);"><a name="t4"></a><a style="font-weight:400;" target="_blank"></a><span style="font-weight:400;font-size:18px;">4.数组转换</span></h2><span style="color:rgb(69,69,69);background-color:rgb(255,255,255);font-size:18px;"></span><div class="dp-highlighter bg_java" style="font-family:Consolas, 'Courier New', Courier, mono, serif;font-size:12px;background-color:rgb(231,229,220);text-align:left;color:rgb(69,69,69);"><div class="bar"><div class="tools" style="font-size:9px;line-height:normal;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;color:#C0C0C0;background-color:rgb(248,248,248);border-left:3px solid rgb(108,226,108);border-right:1px solid rgb(231,229,220);"><strong>[java]</strong> <a href="http://blog.youkuaiyun.com/caiandyong/article/details/51992329#" rel="nofollow" class="ViewSource" title="view plain" style="background-image:url("../images/ico_plain.gif");background-position:left top;background-repeat:no-repeat;background-color:inherit;border:none;font-size:9px;width:16px;text-indent:-2000px;" target="_blank">view plain</a><span class="tracking-ad"> <a href="http://blog.youkuaiyun.com/caiandyong/article/details/51992329#" rel="nofollow" class="CopyToClipboard" title="copy" style="background-image:url("../images/ico_copy.gif");background-position:left top;background-repeat:no-repeat;background-color:inherit;border:none;font-size:9px;width:16px;text-indent:-2000px;" target="_blank">copy</a><div style="position: absolute; left: 540px; top: 2190px; width: 16px; height: 16px; z-index: 99;"><embed id="ZeroClipboardMovie_4" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_4" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=4&width=16&height=16" wmode="transparent"></div><div style="position: absolute; left: 540px; top: 2190px; width: 16px; height: 16px; z-index: 99;"><embed id="ZeroClipboardMovie_10" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_10" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=10&width=16&height=16" wmode="transparent"></div></span><div style="width:16px;"></div><span class="tracking-ad"></span></div></div><ol start="1" class="dp-j" style="border-top:none;border-right:1px solid rgb(231,229,220);border-bottom:none;border-left:none;background-color:rgb(255,255,255);color:rgb(92,92,92);"><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//进行数组转换会生成一个新的数组,而不会修改原始数组</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> val change = <span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">for</span><span style="border:none;background-color:inherit;">(elem <- ab) yield elem * </span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">2</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">for</span><span style="border:none;background-color:inherit;">(elem <- change){ </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">print(elem + <span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">", "</span><span style="border:none;background-color:inherit;">) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> } </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//添加一个守卫的数组转换</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">val change = <span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">for</span><span style="border:none;background-color:inherit;">(elem <- ab </span><span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">if</span><span style="border:none;background-color:inherit;"> elem%</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">2</span><span style="border:none;background-color:inherit;"> == </span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;">) yield elem * </span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">2</span><span style="border:none;background-color:inherit;"> </span></span></li></ol></div><br style="color:rgb(69,69,69);background-color:rgb(255,255,255);"><h2 style="background-color:rgb(255,255,255);"><a name="t5"></a><a style="font-weight:400;" target="_blank"></a><span style="font-weight:400;font-size:18px;">5.数组操作常用算法</span></h2><span style="color:rgb(69,69,69);background-color:rgb(255,255,255);font-size:18px;"></span><div class="dp-highlighter bg_java" style="font-family:Consolas, 'Courier New', Courier, mono, serif;font-size:12px;background-color:rgb(231,229,220);text-align:left;color:rgb(69,69,69);"><div class="bar"><div class="tools" style="font-size:9px;line-height:normal;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;color:#C0C0C0;background-color:rgb(248,248,248);border-left:3px solid rgb(108,226,108);border-right:1px solid rgb(231,229,220);"><strong>[java]</strong> <a href="http://blog.youkuaiyun.com/caiandyong/article/details/51992329#" rel="nofollow" class="ViewSource" title="view plain" style="background-image:url("../images/ico_plain.gif");background-position:left top;background-repeat:no-repeat;background-color:inherit;border:none;font-size:9px;width:16px;text-indent:-2000px;" target="_blank">view plain</a><span class="tracking-ad"> <a href="http://blog.youkuaiyun.com/caiandyong/article/details/51992329#" rel="nofollow" class="CopyToClipboard" title="copy" style="background-image:url("../images/ico_copy.gif");background-position:left top;background-repeat:no-repeat;background-color:inherit;border:none;font-size:9px;width:16px;text-indent:-2000px;" target="_blank">copy</a><div style="position: absolute; left: 540px; top: 2465px; width: 16px; height: 16px; z-index: 99;"><embed id="ZeroClipboardMovie_5" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_5" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=5&width=16&height=16" wmode="transparent"></div><div style="position: absolute; left: 540px; top: 2465px; width: 16px; height: 16px; z-index: 99;"><embed id="ZeroClipboardMovie_11" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_11" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=11&width=16&height=16" wmode="transparent"></div></span><div style="width:16px;"></div><span class="tracking-ad"></span></div></div><ol start="1" class="dp-j" style="border-top:none;border-right:1px solid rgb(231,229,220);border-bottom:none;border-left:none;background-color:rgb(255,255,255);color:rgb(92,92,92);"><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//sum求和(数组与阿奴必须是数值型数据)</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">println(change.sum) </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//min max 输出数组中最小和最大元素</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">println(change.min) </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">println(change.max) </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//使用sorted方法对数组或数组缓冲进行升序排序,这个过程不会修改原始数组</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> val sortArr = ab.sorted </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> <span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">for</span><span style="border:none;background-color:inherit;">(elem <- sortArr) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> print(elem + <span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">", "</span><span style="border:none;background-color:inherit;">) </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//使用比较函数sortWith进行排序</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">val sortArr = ab.sortWith(_>_) </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//数组显示</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> println(sortArr.mkString(<span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">"|"</span><span style="border:none;background-color:inherit;">)) </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> println(sortArr.mkString(<span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">"startFlag"</span><span style="border:none;background-color:inherit;">,</span><span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">"|"</span><span style="border:none;background-color:inherit;">,</span><span class="string" style="border:none;color:rgb(0,0,255);background-color:inherit;">"endFlag"</span><span style="border:none;background-color:inherit;">)) </span></span></li></ol></div><br style="color:rgb(69,69,69);background-color:rgb(255,255,255);"><h2 style="background-color:rgb(255,255,255);"><a name="t6"></a><a style="font-weight:400;" target="_blank"></a><span style="font-weight:400;font-size:18px;">6.多维数组</span></h2><span style="color:rgb(69,69,69);background-color:rgb(255,255,255);font-size:18px;"></span><div class="dp-highlighter bg_java" style="font-family:Consolas, 'Courier New', Courier, mono, serif;font-size:12px;background-color:rgb(231,229,220);text-align:left;color:rgb(69,69,69);"><div class="bar"><div class="tools" style="font-size:9px;line-height:normal;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;color:#C0C0C0;background-color:rgb(248,248,248);border-left:3px solid rgb(108,226,108);border-right:1px solid rgb(231,229,220);"><strong>[java]</strong> <a href="http://blog.youkuaiyun.com/caiandyong/article/details/51992329#" rel="nofollow" class="ViewSource" title="view plain" style="background-image:url("../images/ico_plain.gif");background-position:left top;background-repeat:no-repeat;background-color:inherit;border:none;font-size:9px;width:16px;text-indent:-2000px;" target="_blank">view plain</a><span class="tracking-ad"> <a href="http://blog.youkuaiyun.com/caiandyong/article/details/51992329#" rel="nofollow" class="CopyToClipboard" title="copy" style="background-image:url("../images/ico_copy.gif");background-position:left top;background-repeat:no-repeat;background-color:inherit;border:none;font-size:9px;width:16px;text-indent:-2000px;" target="_blank">copy</a><div style="position: absolute; left: 540px; top: 2920px; width: 16px; height: 16px; z-index: 99;"><embed id="ZeroClipboardMovie_6" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_6" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=6&width=16&height=16" wmode="transparent"></div><div style="position: absolute; left: 540px; top: 2920px; width: 16px; height: 16px; z-index: 99;"><embed id="ZeroClipboardMovie_12" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_12" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=12&width=16&height=16" wmode="transparent"></div></span><div style="width:16px;"></div><span class="tracking-ad"></span></div></div><ol start="1" class="dp-j" style="border-top:none;border-right:1px solid rgb(231,229,220);border-bottom:none;border-left:none;background-color:rgb(255,255,255);color:rgb(92,92,92);"><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//构造一个2行3列的数组</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">val arr = Array.ofDim[Int](<span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">2</span><span style="border:none;background-color:inherit;">,</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">3</span><span style="border:none;background-color:inherit;">) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">println(arr.length) </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">println(arr(<span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;">).length) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">arr(<span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;">)(</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;">) = </span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">20</span><span style="border:none;background-color:inherit;"> </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">println(arr(<span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;">)(</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;">)) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="comment" style="border:none;color:rgb(0,130,0);background-color:inherit;">//创建长度不规则的数组</span><span style="border:none;background-color:inherit;"> </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">val arr = <span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">new</span><span style="border:none;background-color:inherit;"> Array[Array[Int]](</span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">3</span><span style="border:none;background-color:inherit;">) </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> <span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">for</span><span style="border:none;background-color:inherit;">(i <- </span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;"> until arr.length){ </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">arr(i) = <span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">new</span><span style="border:none;background-color:inherit;"> Array[Int](i + </span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">2</span><span style="border:none;background-color:inherit;">) </span></span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">} </span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"> </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;"><span class="keyword" style="font-weight:700;background-color:inherit;color:rgb(0,102,153);font-size:14px;border:none;">for</span><span style="border:none;background-color:inherit;">(i <- </span><span class="number" style="border:none;color:rgb(192,0,0);background-color:inherit;">0</span><span style="border:none;background-color:inherit;"> until arr.length){ </span></span></li><li style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);background-color:rgb(248,248,248);line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">println(arr(i).length) </span></li><li class="alt" style="border-top:none;border-right:none;border-bottom:none;border-left:3px solid rgb(108,226,108);color:inherit;line-height:18px;list-style-position:outside;"><span style="border:none;color:rgb(0,0,0);background-color:inherit;">} </span></li></ol></div><p style="background-color:rgb(255,255,255);"><br></p><p style="background-color:rgb(255,255,255);"><br></p><p style="background-color:rgb(255,255,255);"><span style="font-size:18px;">*****************以上内容摘自:《快学Scala》 [美]Cay S. Horstmann著 电子工业出版社</span>****************</p><p style="background-color:rgb(255,255,255);"><br></p><p style="background-color:rgb(255,255,255);"><br></p> </div>
</div>