<?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 集合 on 编程那些事儿</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/</link><description>Recent content in 9.1.1 集合 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/index.xml" rel="self" type="application/rss+xml"/><item><title>9.1.1.1 集合概览</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.1-CollectionsOverview/</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.1-CollectionsOverview/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/collections-overview.html"&gt;https://kotlinlang.org/docs/collections-overview.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="9111-集合概览"&gt;9.1.1.1 集合概览&lt;/h1&gt;
&lt;p&gt;Kotlin 标准库提供了一整套用于管理&lt;em&gt;集合&lt;/em&gt;的工具——集合是指数量可变（可能为零）的一组条目，它们对所解决的问题有意义，并且通常会被一起操作。&lt;/p&gt;</description></item><item><title>9.1.1.2 构造集合</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.2-ConstructingCollections/</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.2-ConstructingCollections/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/constructing-collections.html"&gt;https://kotlinlang.org/docs/constructing-collections.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="9112-构造集合"&gt;9.1.1.2 构造集合&lt;/h1&gt;
&lt;h2 id="construct-from-elements"&gt;由元素构造&lt;/h2&gt;
&lt;p&gt;创建集合最常见的方式是使用标准库函数 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/list-of.html"&gt;&lt;code&gt;listOf&amp;lt;T&amp;gt;()&lt;/code&gt;&lt;/a&gt;、&lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/set-of.html"&gt;&lt;code&gt;setOf&amp;lt;T&amp;gt;()&lt;/code&gt;&lt;/a&gt;、&lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/mutable-list-of.html"&gt;&lt;code&gt;mutableListOf&amp;lt;T&amp;gt;()&lt;/code&gt;&lt;/a&gt;、&lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/mutable-set-of.html"&gt;&lt;code&gt;mutableSetOf&amp;lt;T&amp;gt;()&lt;/code&gt;&lt;/a&gt;。如果你以逗号分隔的集合元素列表作为实参传入，编译器会自动推断元素类型。创建空集合时，请显式指定类型。&lt;/p&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;/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 style="color:#76a9f9"&gt;val&lt;/span&gt; &lt;span style="color:#cebc3a"&gt;numbersSet&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;=&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;setOf&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 style="color:#76a9f9"&gt;val&lt;/span&gt; &lt;span style="color:#cebc3a"&gt;emptySet&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;=&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;mutableSetOf&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;String&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;&amp;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;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/map-of.html"&gt;&lt;code&gt;mapOf()&lt;/code&gt;&lt;/a&gt; 和 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/mutable-map-of.html"&gt;&lt;code&gt;mutableMapOf()&lt;/code&gt;&lt;/a&gt;。映射的键和值以 &lt;code&gt;Pair&lt;/code&gt; 对象的形式传入（通常使用 &lt;code&gt;to&lt;/code&gt; 中缀函数创建）。&lt;/p&gt;</description></item><item><title>9.1.1.3 迭代器</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.3-Iterators/</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.3-Iterators/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/iterators.html"&gt;https://kotlinlang.org/docs/iterators.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="9113-迭代器"&gt;9.1.1.3 迭代器&lt;/h1&gt;
&lt;p&gt;为了遍历集合元素，Kotlin 标准库支持常用的&lt;em&gt;迭代器&lt;/em&gt;机制——迭代器是顺序访问元素、而不暴露集合底层结构的对象。当你需要逐个处理集合中的所有元素时（例如打印值或对它们做类似的更新），迭代器很有用。&lt;/p&gt;</description></item><item><title>9.1.1.4 排序</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.4-CollectionOrdering/</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.4-CollectionOrdering/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/collection-ordering.html"&gt;https://kotlinlang.org/docs/collection-ordering.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="9114-排序"&gt;9.1.1.4 排序&lt;/h1&gt;
&lt;p&gt;元素的顺序是某些集合类型的重要方面。例如，包含相同元素但顺序不同的两个列表并不相等。&lt;/p&gt;
&lt;p&gt;在 Kotlin 中，可以用多种方式定义对象的顺序。&lt;/p&gt;
&lt;p&gt;首先是&lt;em&gt;自然&lt;/em&gt;顺序。它是为 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-comparable/index.html"&gt;&lt;code&gt;Comparable&lt;/code&gt;&lt;/a&gt; 接口的实现定义的。当没有指定其他顺序时，就用自然顺序对它们排序。&lt;/p&gt;</description></item><item><title>9.1.1.5 分组</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.5-CollectionGrouping/</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.5-CollectionGrouping/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/collection-grouping.html"&gt;https://kotlinlang.org/docs/collection-grouping.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="9115-分组"&gt;9.1.1.5 分组&lt;/h1&gt;
&lt;p&gt;Kotlin 标准库提供了用于对集合元素分组的扩展函数。基本函数 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/group-by.html"&gt;&lt;code&gt;groupBy()&lt;/code&gt;&lt;/a&gt; 接收一个 lambda 函数并返回一个 &lt;code&gt;Map&lt;/code&gt;。在这个映射中，每个键是 lambda 的结果，对应的值则是返回该结果的那些元素组成的 &lt;code&gt;List&lt;/code&gt;。例如，可以用这个函数按首字母对一组 &lt;code&gt;String&lt;/code&gt; 分组。&lt;/p&gt;</description></item><item><title>9.1.1.6 集合转换操作</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.6-CollectionTransformations/</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.6-CollectionTransformations/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/collection-transformations.html"&gt;https://kotlinlang.org/docs/collection-transformations.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="9116-集合转换操作"&gt;9.1.1.6 集合转换操作&lt;/h1&gt;
&lt;p&gt;Kotlin 标准库提供了一组用于集合&lt;em&gt;转换&lt;/em&gt;的扩展函数。这些函数根据所提供的转换规则，从现有集合构建新集合。本页将概述可用的集合转换函数。&lt;/p&gt;</description></item><item><title>9.1.1.7 过滤集合</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.7-CollectionFiltering/</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.7-CollectionFiltering/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/collection-filtering.html"&gt;https://kotlinlang.org/docs/collection-filtering.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="9117-过滤集合"&gt;9.1.1.7 过滤集合&lt;/h1&gt;
&lt;p&gt;过滤是集合处理中最常见的任务之一。在 Kotlin 中，过滤条件由&lt;em&gt;谓词&lt;/em&gt;定义——谓词是接收集合元素并返回布尔值的 lambda 函数：&lt;code&gt;true&lt;/code&gt; 表示该元素匹配谓词，&lt;code&gt;false&lt;/code&gt; 表示相反。&lt;/p&gt;</description></item><item><title>9.1.1.10 序列</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.10-Sequences/</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.10-Sequences/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/sequences.html"&gt;https://kotlinlang.org/docs/sequences.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="91110-序列"&gt;9.1.1.10 序列&lt;/h1&gt;
&lt;p&gt;除了集合之外，Kotlin 标准库还包含另一种类型——&lt;em&gt;序列&lt;/em&gt;（&lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html"&gt;&lt;code&gt;Sequence&amp;lt;T&amp;gt;&lt;/code&gt;&lt;/a&gt;）。与集合不同，序列不包含元素，而是在迭代时产生元素。序列提供了与 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html"&gt;&lt;code&gt;Iterable&lt;/code&gt;&lt;/a&gt; 相同的函数，但对多步骤的集合处理实现了另一种方式。&lt;/p&gt;
&lt;p&gt;当对 &lt;code&gt;Iterable&lt;/code&gt; 的处理包含多个步骤时，这些步骤会急切执行：每个处理步骤都会完成并返回结果——一个中间集合。下一个步骤在这个集合上执行。而序列的多步骤处理则在可能的情况下惰性执行：只有当整个处理链的结果被请求时，实际计算才会发生。&lt;/p&gt;</description></item><item><title>9.1.1.11 区间与数列</title><link>https://before80.github.io/prgms/Kotlin/libraryguides/9.1-Standardlibrary/9.1.1-Collections/9.1.1.11-Ranges/</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.11-Ranges/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://kotlinlang.org/docs/ranges.html"&gt;https://kotlinlang.org/docs/ranges.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="91111-区间与数列"&gt;9.1.1.11 区间与数列&lt;/h1&gt;
&lt;p&gt;区间与数列在 Kotlin 中定义了值的序列，支持区间运算符、迭代、自定义步长值以及等差数列。&lt;/p&gt;
&lt;h2 id="range"&gt;区间&lt;/h2&gt;
&lt;p&gt;Kotlin 让你可以使用 &lt;code&gt;kotlin.ranges&lt;/code&gt; 包中的 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/range-to.html"&gt;&lt;code&gt;.rangeTo()&lt;/code&gt;&lt;/a&gt; 和 &lt;a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/range-until.html"&gt;&lt;code&gt;.rangeUntil()&lt;/code&gt;&lt;/a&gt; 函数轻松创建值的区间。&lt;/p&gt;</description></item></channel></rss>