<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>9.1.1.9 操作与运算符 on 编程那些事儿</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/</link><description>Recent content in 9.1.1.9 操作与运算符 on 编程那些事儿</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 13 Sep 2026 18:20:56 +0800</lastBuildDate><atom:link href="https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/index.xml" rel="self" type="application/rss+xml"/><item><title>9.1.1.9.1 集合操作概览</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.1-CollectionOperations/</link><pubDate>Sun, 13 Sep 2026 08:50:47 +0800</pubDate><guid>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.1-CollectionOperations/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/collection-operations.html"&gt;https://kotlinlang.org/docs/collection-operations.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="91191-集合操作概览"&gt;9.1.1.9.1 集合操作概览&lt;/h1&gt;
&lt;p&gt;Kotlin 标准库提供了种类丰富的函数用于对集合执行操作。这既包括获取或添加元素这样的简单操作，也包括搜索、排序、过滤、转换等更复杂的操作。&lt;/p&gt;</description></item><item><title>9.1.1.9.2 聚合操作</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.2-CollectionAggregate/</link><pubDate>Sun, 13 Sep 2026 08:50:47 +0800</pubDate><guid>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.2-CollectionAggregate/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/collection-aggregate.html"&gt;https://kotlinlang.org/docs/collection-aggregate.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="91192-聚合操作"&gt;9.1.1.9.2 聚合操作&lt;/h1&gt;
&lt;p&gt;Kotlin 集合包含用于常见&lt;em&gt;聚合操作&lt;/em&gt;的函数——聚合操作是只根据集合内容返回单个值的操作。其中大多数都很常见，并且行为与其他语言中相同：&lt;/p&gt;</description></item><item><title>9.1.1.9.3 集合的写操作</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.3-CollectionWrite/</link><pubDate>Sun, 13 Sep 2026 08:50:47 +0800</pubDate><guid>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.3-CollectionWrite/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/collection-write.html"&gt;https://kotlinlang.org/docs/collection-write.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="91193-集合的写操作"&gt;9.1.1.9.3 集合的写操作&lt;/h1&gt;
&lt;p&gt;&lt;a href="../../9.1.1.1-CollectionsOverview/#collection-types"&gt;可变集合&lt;/a&gt;支持用于修改集合内容的操作，例如添加或移除元素。本页将介绍所有 &lt;code&gt;MutableCollection&lt;/code&gt; 实现都可用的写操作。关于 &lt;code&gt;List&lt;/code&gt; 和 &lt;code&gt;Map&lt;/code&gt; 可用的更具体的操作，请分别参阅 &lt;a href="../9.1.1.9.4-ListOperations/"&gt;List 特有操作&lt;/a&gt;和&lt;a href="../9.1.1.9.6-MapOperations/"&gt;映射特有操作&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="adding-elements"&gt;添加元素&lt;/h2&gt;
&lt;p&gt;要向列表或集添加单个元素，请使用 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/add.html"&gt;&lt;code&gt;add()&lt;/code&gt;&lt;/a&gt; 函数。指定的对象会被追加到集合末尾。&lt;/p&gt;</description></item><item><title>9.1.1.9.4 列表特有的操作</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.4-ListOperations/</link><pubDate>Sun, 13 Sep 2026 08:50:47 +0800</pubDate><guid>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.4-ListOperations/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/list-operations.html"&gt;https://kotlinlang.org/docs/list-operations.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="91194-列表特有的操作"&gt;9.1.1.9.4 列表特有的操作&lt;/h1&gt;
&lt;p&gt;&lt;a href="../../9.1.1.1-CollectionsOverview/#list"&gt;&lt;code&gt;List&lt;/code&gt;&lt;/a&gt; 是 Kotlin 中最常用的内置集合类型。对列表元素的索引访问为列表提供了一组强大的操作。&lt;/p&gt;
&lt;h2 id="retrieve-elements-by-index"&gt;按索引获取元素&lt;/h2&gt;
&lt;p&gt;列表支持所有通用的元素获取操作：&lt;code&gt;elementAt()&lt;/code&gt;、&lt;code&gt;first()&lt;/code&gt;、&lt;code&gt;last()&lt;/code&gt;，以及&lt;a href="../../9.1.1.8-Retrieve/9.1.1.8.2-CollectionElements/"&gt;获取单个元素&lt;/a&gt;中列出的其他操作。列表特有的地方在于对元素的索引访问，因此读取元素最简单的方式就是按索引获取。这通过 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/get.html"&gt;&lt;code&gt;get()&lt;/code&gt;&lt;/a&gt; 函数（索引作为参数传入）或简写形式 &lt;code&gt;[index]&lt;/code&gt; 语法实现。&lt;/p&gt;</description></item><item><title>9.1.1.9.5 集合特有的操作</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.5-SetOperations/</link><pubDate>Sun, 13 Sep 2026 08:50:47 +0800</pubDate><guid>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.5-SetOperations/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/set-operations.html"&gt;https://kotlinlang.org/docs/set-operations.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="91195-集合特有的操作"&gt;9.1.1.9.5 集合特有的操作&lt;/h1&gt;
&lt;p&gt;Kotlin 的集合包中包含用于对集合进行常见操作的扩展函数：求交集、合并，或从一个集合中减去另一个集合。&lt;/p&gt;
&lt;p&gt;要把两个集合合并为一个，请使用 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/union.html"&gt;&lt;code&gt;union()&lt;/code&gt;&lt;/a&gt; 函数。它可以用中缀形式 &lt;code&gt;a union b&lt;/code&gt; 调用。注意，对于有序集合，操作数的顺序很重要。在结果集合中，第一个操作数的元素排在第二个操作数的元素之前：&lt;/p&gt;</description></item><item><title>9.1.1.9.6 映射特有的操作</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.6-MapOperations/</link><pubDate>Sun, 13 Sep 2026 08:50:47 +0800</pubDate><guid>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.6-MapOperations/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/map-operations.html"&gt;https://kotlinlang.org/docs/map-operations.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="91196-映射特有的操作"&gt;9.1.1.9.6 映射特有的操作&lt;/h1&gt;
&lt;p&gt;在&lt;a href="../../9.1.1.1-CollectionsOverview/#map"&gt;映射&lt;/a&gt;中，键和值的类型都由用户定义。基于键的映射条目访问带来了各种映射特有的处理能力，从按键获取值，到分别对键和值进行过滤。本页介绍标准库中的映射处理函数。&lt;/p&gt;
&lt;h2 id="retrieve-keys-and-values"&gt;获取键和值&lt;/h2&gt;
&lt;p&gt;要从映射中获取值，你必须把它的键作为 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/get.html"&gt;&lt;code&gt;get()&lt;/code&gt;&lt;/a&gt; 函数的参数传入。也支持简写形式 &lt;code&gt;[key]&lt;/code&gt;。如果找不到给定的键，则返回 &lt;code&gt;null&lt;/code&gt;。还有一个函数 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/get-value.html"&gt;&lt;code&gt;getValue()&lt;/code&gt;&lt;/a&gt;，它的行为略有不同：如果映射中找不到该键，它会抛出异常。此外，你还有更多处理键不存在情况的选项：&lt;/p&gt;</description></item><item><title>9.1.1.9.7 plus 与 minus 运算符</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.7-CollectionPlusMinus/</link><pubDate>Sun, 13 Sep 2026 08:50:47 +0800</pubDate><guid>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.9-Operationsandoperators/9.1.1.9.7-CollectionPlusMinus/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/collection-plus-minus.html"&gt;https://kotlinlang.org/docs/collection-plus-minus.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="91197-plus-与-minus-运算符"&gt;9.1.1.9.7 plus 与 minus 运算符&lt;/h1&gt;
&lt;p&gt;在 Kotlin 中，&lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/plus.html"&gt;&lt;code&gt;plus&lt;/code&gt;&lt;/a&gt;（&lt;code&gt;+&lt;/code&gt;）和 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/minus.html"&gt;&lt;code&gt;minus&lt;/code&gt;&lt;/a&gt;（&lt;code&gt;-&lt;/code&gt;）运算符是为集合定义的。它们把集合作为第一个操作数；第二个操作数既可以是元素，也可以是另一个集合。返回值是一个新的只读集合：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;plus&lt;/code&gt; 的结果包含原集合中的元素&lt;em&gt;以及&lt;/em&gt;第二个操作数中的元素。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;minus&lt;/code&gt; 的结果包含原集合中的元素，但&lt;em&gt;除了&lt;/em&gt;第二个操作数中的元素。如果它是元素，&lt;code&gt;minus&lt;/code&gt; 会移除其&lt;em&gt;第一次&lt;/em&gt;出现；如果它是集合，则会移除其元素的所有出现。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#58626f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#58626f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#58626f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#58626f"&gt;4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#58626f"&gt;5
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#58626f"&gt;6
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#58626f"&gt;7
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#58626f"&gt;8
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#58626f"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-kotlin" data-lang="kotlin"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#76a9f9"&gt;fun&lt;/span&gt; &lt;span style="color:#00b1f7"&gt;main&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;()&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#76a9f9"&gt;val&lt;/span&gt; &lt;span style="color:#cebc3a"&gt;numbers&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;=&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;listOf&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;(&lt;/span&gt;&lt;span style="color:#63c381"&gt;&amp;#34;one&amp;#34;&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;,&lt;/span&gt; &lt;span style="color:#63c381"&gt;&amp;#34;two&amp;#34;&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;,&lt;/span&gt; &lt;span style="color:#63c381"&gt;&amp;#34;three&amp;#34;&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;,&lt;/span&gt; &lt;span style="color:#63c381"&gt;&amp;#34;four&amp;#34;&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#76a9f9"&gt;val&lt;/span&gt; &lt;span style="color:#cebc3a"&gt;plusList&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;=&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;numbers&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;+&lt;/span&gt; &lt;span style="color:#63c381"&gt;&amp;#34;five&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#76a9f9"&gt;val&lt;/span&gt; &lt;span style="color:#cebc3a"&gt;minusList&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;=&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;numbers&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;-&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;listOf&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;(&lt;/span&gt;&lt;span style="color:#63c381"&gt;&amp;#34;three&amp;#34;&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;,&lt;/span&gt; &lt;span style="color:#63c381"&gt;&amp;#34;four&amp;#34;&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#aa89ea"&gt;println&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;(&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;plusList&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#aa89ea"&gt;println&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;(&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;minusList&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#abb2bf"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;关于映射的 &lt;code&gt;plus&lt;/code&gt; 和 &lt;code&gt;minus&lt;/code&gt; 运算符细节，请参阅&lt;a href="../9.1.1.9.6-MapOperations/"&gt;映射特有的操作&lt;/a&gt;。集合也定义了&lt;a href="../../../../../languageguide/5.7-Functions/5.7.6-OperatorOverloading/#augmented-assignments"&gt;复合赋值运算符&lt;/a&gt; &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/plus-assign.html"&gt;&lt;code&gt;plusAssign&lt;/code&gt;&lt;/a&gt;（&lt;code&gt;+=&lt;/code&gt;）和 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/minus-assign.html"&gt;&lt;code&gt;minusAssign&lt;/code&gt;&lt;/a&gt;（&lt;code&gt;-=&lt;/code&gt;）。不过对于只读集合，它们实际上会使用 &lt;code&gt;plus&lt;/code&gt; 或 &lt;code&gt;minus&lt;/code&gt; 运算符，并尝试把结果赋给同一个变量。因此，它们只能用于 &lt;code&gt;var&lt;/code&gt; 声明的只读集合。对于可变集合，即使变量是 &lt;code&gt;val&lt;/code&gt;，它们也会修改集合本身。更多细节请参阅&lt;a href="../9.1.1.9.3-CollectionWrite/"&gt;集合的写操作&lt;/a&gt;。&lt;/p&gt;</description></item></channel></rss>