4-1. アレイ(Collection-Array)


swiftには、array、set、dictionaryの3つの元のセットタイプが用意されています.Arrayはcall力の値に順番があります.Setは、重複していない値に対して順序がない集合である.最後に,ディクシャナはキー値対順序のない集合である.

アレイ


  • 配列タイプの構文はArrayで記述されます.また、Element形式で書くこともできます.
    var someInts : Array<Int> = []
    var someInts : [Int] = []
    //다음의 두 친구는 같은 의미이다.

  • 空の配列の生成は、構文を初期化することによって行うことができる.
    var someInts : [Int] = []
    //다음과 같이 초기화 가능하다.

  • 配列が同じデフォルト値に設定されると、固定サイズで配列を作成する初期化も提供されます.
    var threeDoubles = Array(repeating: 0.0, count: 3)
    //다음의 배열은 [0.0, 0.0, 0.0]의 값을 가진다.

  • 配列生成を加えることができます.
    var twoDoubles = Array(repeating: 2.5, count: 2)
    var fiveDoubles = threeDoubles + twoDoubles
    //다음과 같이 하게 되면 모든 값들이 추가된다.

  • 配列は文字列文字で生成することもできます.
    var shoppingList : [String] = ["Eggs", "Milk"]
    //다음과 같은 문자열 배열로도 가능하다.

    配列へのアクセスと変更


    メソッドとプログラムを使用して、配列のアクセスとソートを変更できます.

  • 配列中のアイテム数をチェックするためにcount propertyで確認できます.
    print(shoppingList.count)
     //2를 출력하게 된다.

  • count値が0であるかどうかは、ブールisEmpty propertyによって識別できます.
    if shoppingList.isEmpty {
    	print(0)
    }
    //배열이 비어있는 경우 조건문을 수행하게 되고 0을 출력한다.

  • 配列のappend(:)メソッドを呼び出すことで、配列の末尾に新しい項目を追加できます.
    shoppingList.append("Flour")
    
    //쇼핑아이템은 모두 달걀, 우유, 밀가루로 3개가 된다.

  • 加算代入演算子を配列に追加できます.
    shoppingList += ["candy", "cookie"]
    //기존의 배열은 총 달걀, 우유, 밀가루, 캔디, 쿠키를 가진 배열이 된다.

  • 配列のサブスクリプトから値を取得できます.
    print(shoppingList[0])
    //배열의 인덱스는 0에서 시작되며, 여기에서는 "Eggs"를 출력하게 된다.
    //이 떄에 인덱스는 반드시 배열의 범위를 충족하는 유효한 인덱스여야 한다.

  • サブスクリプト構文で値を一度に変更できます.
    shoppingList[0..2] = ["Banana", "Cabbage", "Tofu"]
    
    //이렇게 되는 경우 앞으 3가지인 달걀, 우유, 밀가루가 바나나 양배추, 두부로 변하게 된다.

  • 特定のインデックスに値を割り当てる場合はinsert(at:)メソッドを使用します.
    shoppingList.insert("Burn", at: 0)
    
    //이렇게 하게되면 가장 맨 앞에 새로운 아이템을 추가하게 된다.

  • 配列内のアイテムはremove(at:)メソッドで削除できます.
    shopping.remove(at: 0)
    shopping.removeLast()
    
    //가장 앞에 있는 달걀 값을 삭제한 나머지를 배열값으로 가지게 된다.
    //가장 마지막 값을 삭제하고 나머지를 배열 값으로 가지게 된다.

    くりかえしはいれつ



  • forループにより配列の全体値がわかります.
    for value in shoppingList {
    	print(value)
    }
    //달걀
    //우유
    //밀가루
    //바나나
    //양배추
    .
    .
    . // 다음과 같이 앞에서 부터 순서대로 배열값을 조회 가능하다.

  • 列挙()メソッドを使用すると、インデックスと値を同時にクエリーできます.整数と道具を組み合わせて返却します.
    for (index, value) in shoppingList.enumerated() {
    	print("item \(index + 1) : \(value))
    //item 1 : eggs
    //item 2 : Milk
    //item 3 : Flour
    .
    .
    .
    
    //다음과 같이 튜플 값을 통해서 인덱스와 밸류를 동시에 조회할 수 있다.