カテゴリ: Swift 更新日: 2025/12/17

SwiftのArraySliceと部分配列の使い方を完全解説!初心者でもわかるスライスの基本

Swift スライス(ArraySlice)と部分配列の効率的な扱い方
Swift スライス(ArraySlice)と部分配列の効率的な扱い方

先生と生徒の会話形式で理解しよう

生徒

「Swiftで配列の一部分だけを取り出すことってできますか?」

先生

「はい、SwiftではArraySlice(アレイスライス)を使って、配列の一部だけを簡単に取り出すことができますよ。」

生徒

「それって、ふつうの配列とどう違うんですか?」

先生

「それでは、ArraySliceと配列の違いや使い方を詳しく見ていきましょう!」

1. ArraySlice(アレイスライス)とは?

1. ArraySlice(アレイスライス)とは?
1. ArraySlice(アレイスライス)とは?

ArraySliceは、SwiftのArray(配列)から一部の要素だけを取り出したときに使われる特別な型です。

たとえば、10個のデータがある配列から「2番目から5番目だけ使いたい」といった場合に便利です。スライスとは、「一部を切り取ったもの」という意味で、まさにその名の通り、配列の一部分だけを扱うときに使います。

2. 部分配列を作る方法|スライスの基本

2. 部分配列を作る方法|スライスの基本
2. 部分配列を作る方法|スライスの基本

それでは、実際にArraySliceを使って、配列の一部を取り出してみましょう。


let numbers = [10, 20, 30, 40, 50, 60]
let slice = numbers[1...3]
print(slice)

この例では、numbers[1...3]と指定することで、2番目〜4番目の値(20, 30, 40)を取り出しています。

このときsliceの型はArraySlice<Int>になります。

3. ArraySliceとArrayの違いとは?

3. ArraySliceとArrayの違いとは?
3. ArraySliceとArrayの違いとは?

ArraySliceは見た目は配列と似ていますが、インデックスの扱いが異なるのがポイントです。


let numbers = [100, 200, 300, 400, 500]
let slice = numbers[2...4]
print(slice[2]) // 300

ここでslice[2]と書くと、元の配列のインデックス2(300)がそのまま使えます。

ただし、スライスのインデックスは0からではなく、元の配列の位置を引き継いでいる点に注意が必要です。

4. スライスを通常の配列(Array)に戻すには?

4. スライスを通常の配列(Array)に戻すには?
4. スライスを通常の配列(Array)に戻すには?

ArraySliceはそのままでは使いにくい場面もあります。特にインデックスを0から始めたいときなどは、Arrayに変換しましょう。


let numbers = [5, 10, 15, 20, 25]
let slice = numbers[1...3]
let newArray = Array(slice)
print(newArray)

Array(slice)のように書くことで、スライスをふつうの配列に変換できます。

5. スライスの範囲指定|startIndexとendIndexを使おう

5. スライスの範囲指定|startIndexとendIndexを使おう
5. スライスの範囲指定|startIndexとendIndexを使おう

スライスでは、startIndexendIndexプロパティを使って、開始位置や終了位置を動的に調べることもできます。


let names = ["さくら", "たけし", "ひろし", "あや", "まこと"]
let slice = names[1...3]

print("開始位置: \(slice.startIndex)")
print("終了位置: \(slice.endIndex)")

endIndexは「最後の要素の次の位置」を指すので、forループなどで使うときに便利です。

6. スライスの活用場面|大量データの処理に最適

6. スライスの活用場面|大量データの処理に最適
6. スライスの活用場面|大量データの処理に最適

ArraySliceは、実はメモリの節約にも役立ちます。

元の配列を丸ごとコピーするのではなく、「見た目だけ一部分を切り出す」ため、データ量が多い場合には非常に効率的です。

たとえば、10000件ある配列から最初の100件だけを処理したいときに、わざわざ新しい配列を作るよりも、スライスを使った方が軽くて速くなります。

7. for文でスライスをループ処理する方法

7. for文でスライスをループ処理する方法
7. for文でスライスをループ処理する方法

ArraySliceArrayと同じようにfor-in文で1つずつ取り出すことができます。


let data = [1, 2, 3, 4, 5, 6]
let part = data[2...4]

for value in part {
    print(value)
}

このようにスライスした部分だけを効率よく処理できます。

8. スライスの注意点|データの変更と参照について

8. スライスの注意点|データの変更と参照について
8. スライスの注意点|データの変更と参照について

ArraySliceは、元の配列とメモリを共有しているため、元の配列が変更されるとスライスの内容も変わる可能性があります。


var scores = [70, 80, 90, 100]
let slice = scores[1...2]
scores[1] = 85
print(slice)

このように、スライスは「元の配列の一部を参照している」という性質を持つので、変更が必要な場合はArrayに変換して使うのが安全です。

9. 配列の一部を取り出すテクニックまとめ(一覧)

9. 配列の一部を取り出すテクニックまとめ(一覧)
9. 配列の一部を取り出すテクニックまとめ(一覧)
操作 使い方 用途
numbers[1...3] 範囲でスライスを作成 部分配列の取り出し
Array(slice) スライスを配列に変換 インデックスのリセット
slice.startIndex 開始位置を取得 ループ処理などに活用
slice.endIndex 終了位置(次の位置) for文と組み合わせ

Swiftを基礎から実践レベルまで学びたい人や、 iOSアプリ開発を本格的に始めたい人には、 定番の入門+実践書がこちらです。

Swift実践入門をAmazonで見る

※ Amazon広告リンク

まとめ

まとめ
まとめ

Swift スライス(ArraySlice)と部分配列の効率的な扱い方では、スライス(ArraySlice)と部分配列の効率的な扱い方をSwiftで扱うときの考え方を確認しました。Swiftコレクションは、書き方だけを覚えるよりも、Xcodeで動かしながら「どこで値が変わるのか」「失敗したときに何が起きるのか」を見たほうが理解しやすくなります。

Xcodeで見る場所:スライス(ArraySlice)と部分配列の効率的な扱い方で迷ったら、まず順序が必要か、重複を許すか、キーで取り出すか、変換後の型が何になるかを切り分けましょう。Swiftは型やエラーがヒントになるため、Xcodeの警告と実行結果を一緒に見るのが近道です。

仕上げの練習

  • スライス(ArraySlice)と部分配列の効率的な扱い方で注目する場所として、順序が必要か、重複を許すか、キーで取り出すか、変換後の型が何になるかを説明できる
  • 配列をDictionaryやSetに変換し、検索速度や重複の扱いがどう変わるかを試す
  • Xcodeのエラー、警告、コンソール出力を読み、原因を1つ言葉にできる
  • Swift、Xcode、iOSアプリ開発の中で、この記事の知識を使う場面を想像できる

復習するときは、次のような短いコードを自分の環境で動かしてみましょう。記事のテーマに合わせて値や条件を変えると、Swiftの型安全、Optional、エラー処理、画面更新の見え方が少しずつ整理できます。

let scores = [80, 95, 70, 100]
let passed = scores.filter { $0 >= 80 }
let average = scores.reduce(0, +) / scores.count

print(passed)
print(average)

生徒

「スライス(ArraySlice)と部分配列の効率的な扱い方は、どこを変えて試せばいいか分かると復習しやすいですね。」

先生

「はい。まずは小さく動かし、次に失敗するケースを1つ足してみましょう。Swiftは型やエラーがヒントを出してくれるので、結果を見ながら直す練習がそのまま実務力につながります。」

関連セミナーのご案内

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

「iPhoneアプリを作りたいけれど、Macを持っていないから諦めている」そんな方のための画期的な入門講座です。実は、プログラミングの本質を学ぶのに高価な機材は必要ありません。本講座では、Windowsパソコンを使用し、クラウド環境を活用してAppleの最新言語Swift(スウィフト)の基礎を最短距離でマスターします。

Windowsで実現する開発環境

【つくるもの】
ブラウザ上で動作する「スマート・計算ツール」や「データ判定プログラム」をゼロから作成します。変数の扱いや条件分岐など、iPhoneアプリの内部で動くロジックを自分の手で構築する感動を体験してください。

【開発環境】
ブラウザだけでSwiftが動くプロ仕様のオンラインエディタ(Replit等)を使用します。面倒な設定は一切不要。今あるWindows PCで、プロのエンジニアと同じコードを書き始められます。

この60分で得られる3つの理解

1. WindowsでのSwift実行環境の作り方

OSの壁を越え、クラウドを活用してスマートに学習を開始する「現代的な開発スタイル」を習得します。

2. Swiftの基本構造(変数・型・定数)

iPhoneアプリ特有のデータの扱い方や、Appleが推奨する「安全で美しいコード」の書き方を学びます。

3. アプリエンジニアとしてのロードマップ

将来的にiOSエンジニアとして副業・転職するために必要な準備や、Mac選びのポイントを伝授します。

※本講座は、将来的にiPhoneアプリ開発で収益化や転職を目指したい未経験者のためのエントリー講座です。マンツーマン形式により、Windows環境ならではの疑問にもその場でお答えし、あなたの理解度に合わせて進行します。

セミナー画像

Windowsで始めるiPhoneアプリ開発入門

関連記事:
カテゴリの一覧へ
新着記事
New1
Swift
Swiftの可変長引数(Variadic Parameters)とは?初心者向けにやさしく解説!
New2
Go言語
Go言語の配列の基本!定義・初期化・アクセス方法をやさしく解説
New3
Swift
Swift変数と定数の使い方|varとletの違いを初心者向けに解説
New4
Swift
Swift正規表現入門!Regex BuilderとNSRegularExpressionを初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.2
Java&Spring記事人気No2
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.3
Java&Spring記事人気No3
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.4
Java&Spring記事人気No4
Swift
Swift入門ガイド|基本構文と書き方をマスターしよう
No.5
Java&Spring記事人気No5
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Go言語
Go言語のビルドの基本!go buildコマンドの使い方を初心者向けに解説
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptで絶対値を求める方法!Math.absの使い方を初心者向けにわかりやすく解説
No.8
Java&Spring記事人気No8
Kotlin
Kotlinの可視性修飾子を完全ガイド!public・private・internalの意味と使い分けを初心者向けに解説

💻 作業効率アップに

ノートPCを縦置きしてデスクを広く。
省スペースで片づく定番スタンド

UGREEN 縦型スタンドをAmazonで見る

※ Amazon広告リンク