今回も引き続き、標準ライブラリーで定義されている Collection
について眺めていきます。前回に Collection
の基本な概念について見ていったので、今回はさらにそこから特定の特徴を際立たせた感じの BidirectionalCollection
と RandomAccessCollection
の基本概念について確認していってみますね。どうぞよろしくお願いします。
—————————————————————————————————— 熊谷さんのやさしい Swift 勉強会 #81
00:00 開始 00:27 コレクションについて見ていく中で感じること 02:22 Collection の特徴をおさらい 02:51 非破壊 04:06 コンパイラーで適合を検出できない制約 04:36 インデックスによるマルチパスアクセス 05:35 past the end 06:08 スライスの話は今回は省略 06:23 コレクションは範囲が有限 09:29 BidirectionalCorrection 10:16 BidirectionalCollection の特徴 10:49 後方探索 13:15 計算量 14:41 インデックスの前方後方移動について 16:46 シーケンス性を考慮したコレクション 20:19 プロトコルを独自定義する上での考え方 21:33 Equatable と Hashable の関係 25:40 ハッシュでは一致性までは判らないからこそ準拠している? 28:05 前方検索までは規定しないプロトコルは存在し得る? 31:02 どこで順次アクセスを可能とするか 32:32 プロトコル定義の匙加減 33:37 Codable に窺える特徴 37:03 Identifiable 38:59 ハッシュテーブルと衝突の管理 44:21 複数のプロトコルに準拠させる方式について 46:47 考え方の転換も必要かもしれない 47:52 後方からの効率的なアクセス 48:33 BidirectionalCollection への準拠 48:53 前方移動と後方移動は同じ量ずつ 49:32 次回の展望 ——————————————————————————————————