1. まとめトップ

やっぱりSwift : 配列 #2 : 配列の操作方法 基礎編

AppleがObjective-Cの後継プログラミング言語として送り出したSwiftについて、のんびり勉強しながらのんびり更新するプログラミング講座。関連するリンクのまとめも行っていきます。

更新日: 2014年07月15日

4 お気に入り 36348 view
お気に入り追加

この記事は私がまとめました

配列要素数の取得 ( Array.count , Array.isEmpty )

●配列の要素数を取得するには count プロパティ ( Int ) を使います。

  var numbers : [ Int ] = [ 100 , 200 , 300 ]
  var c : Int = numbers.count // → 3

●要素数が 0 かどうかの判定には、isEmpty プロパティ ( Bool ) もあります。

  var numbers : [ Int ] = [ 100 , 200 , 300 ]
  var e : Bool = numbers.isEmpty // → false

  numbers = [ ] // 空にする
  e = numbers.isEmpty // → true

配列要素の取り出し

●配列の指定の場所の要素を取り出すには、配列名の後ろに括弧を書いてインデックスを指定します。

  var numbers : [ Int ] = [ 100 , 200 , 300 ]
  var value : Int = numbers[ 1 ] // → 200

●範囲指定で配列の一部を取り出すこともできます。

  var numbers : [ Int ] = [ 100 , 200 , 300 , 400 ]
  var part : [ Int ] = Array ( numbers[ 1...2 ] ) // → [ 200 , 300 ]

 もしくは

  var part : [ Int ] = [ Int ] ( numbers[ 1...2 ] ) // → [ 200 , 300 ]

 配列の一部を numbers[ 1...2 ] のように取り出したものは Array ではなく Slice というオブジェクトなので、Array( ) を使って配列を作り直す必要があります。

配列の要素の置換

●配列の要素を別の値に置き換えるには、もっとも基礎的なものは以下の記述です。

 var myArray = [ 100 , 200 , 300 ]
 myArray[ 1 ] = 500 // → [ 100 , 500 , 300 ]

●配列の要素を範囲指定することで、複数の要素を一気に置き換えることができます。

 var myArray = [ 100 , 200 , 300 , 400 ]
 myArray[ 1...2 ] = [ 500 , 600 ] // → [ 100 , 500 , 600 , 400 ]

●配列の範囲で指定している要素の数よりも多い配列を指定することもできます。この場合、配列の要素数が増えます。

 var myArray = [ 100 , 200 , 300 , 400 ]
 myArray[ 1...2 ] = [ 500 , 600 , 700 ] // → [ 100 , 500 , 600 , 700 , 400 ]

●逆に、配列の範囲で指定している要素の数よりも少ない配列を指定することもできます。この場合、配列の要素数が減ります。

 var myArray = [ 100 , 200 , 300 , 400 ]
 myArray[ 1...2 ] = [ 500 ] // → [ 100 , 500 , 400 ]

配列要素の追加

●配列の末尾に要素や配列を追加するには、append メソッドや += 演算子を使います。

 var myArray = [ "Hello" ]
 myArray.append( "Hello" ) // append メソッドで要素追加
 myArray += [ "Hello" ] // += 演算子で配列を追加
 myArray += [ "Hello" , "How are you" ] // += 演算子で配列を追加

・以前は以下のような記述で += で配列の要素を追加できていましたができなくなりました。

 myArray += "Hello" // コンパイルエラー

●挿入する場合は、insert atIndex: メソッドを使います。指定したインデックスの直前に挿入されます。

  var strs = [ "Hello" , "How are you" ]
  strs.insert( "John", atIndex : 1 ) // → [ "Hello" , "John" , "How are you" ]

配列の要素を削除

配列要素を削除

 以下のような配列があった場合の要素の削除方法を説明していきます。

 var myArray = [ 100 , 200 , 300 , 400 ]

●指定の位置の要素を削除するには、removeAtIndex メソッドを使います。

 myArray.removeAtIndex( 1 ) // [ 100 , 300 , 400 ]

●最後の要素を削除するには、removeLast メソッドを使います。

 myArray.removeLast() // [ 100 , 200 , 300 ]

●配列の一部を削除するには、空の配列を代入します。

 myArray[ 1...2 ] = [ ] // [ 100 , 400 ]

●全要素を削除するには、removeAll メソッドを使います

 myArray.removeAll() // [ ]

配列全体の比較

配列全ての要素が同じかどうかは比較演算子 ( == , != ) で取得できます。

  var a = [ 100 , 200 , 300 ]
  var b = [ 100 , 200 , 300 ]
  var c = [ 400 , 500 , 600 ]

  println( " \( a == b ) " ) // → true
  println( " \( a != b ) " ) // → false
  println( " \( a == c ) " ) // → false

続き

参考リンク

1