Swift: Array.count と String.count

Feb 02 2023
多くの開発者は Array.count と String を考えています。
Unsplash の Siora Photography による写真

多くの開発者は、Array.countとString.count が同じであると考えています。これらは同じ目的(シーケンスの長さを取得する)に使用されますが、長さを取得する方法によって大きな違いが生じます。

配列はRandomAccessCollectionに準拠します。インデックスの末尾にアクセスするにはO(1) がかかります。したがって、 Array.countの時間計算量はO(1) です。

文字列はRandomAccessCollectionに準拠していません。文字数をカウントするには O(n) が必要で、 n はString内の文字数です。したがって、 String.countの時間計算量はO(n) です。

実験してみよう!

Array.count の場合

配列サイズが増加すると、ランタイムは非常に安定します。

String.Count の場合

文字列のサイズが増加すると、実行時間が大幅に増加します。

Medium メンバーになって、さらに素晴らしい記事を読み、キャリアを成長させましょう。

さらにプレミアム コンテンツについては、次のサイトにアクセスしてください。