[解決済み] Swiftの2次元配列
2022-08-16 10:44:32
質問
Swiftの2次元配列について、とても混乱しています。私はステップバイステップで説明しましょう。そして、私が間違っている場合、あなたは私を修正することができます。
まず最初に、空の配列の宣言です。
class test{
var my2Darr = Int[][]()
}
次に配列を埋める。(例えば
my2Darr[i][j] = 0
ここでi, jはfor-loop変数)
class test {
var my2Darr = Int[][]()
init() {
for(var i:Int=0;i<10;i++) {
for(var j:Int=0;j<10;j++) {
my2Darr[i][j]=18 /* Is this correct? */
}
}
}
}
最後に、配列の要素を編集します。
class test {
var my2Darr = Int[][]()
init() {
.... //same as up code
}
func edit(number:Int,index:Int){
my2Darr[index][index] = number
// Is this correct? and What if index is bigger
// than i or j... Can we control that like
if (my2Darr[i][j] == nil) { ... } */
}
}
どのように解決するのですか?
ミュータブル配列の定義
// 2 dimensional array of arrays of Ints
var arr = [[Int]]()
または
// 2 dimensional array of arrays of Ints
var arr: [[Int]] = []
または、あらかじめ定義されたサイズの配列が必要な場合(コメントで @0x7fffff によって言及されたように)。
// 2 dimensional array of arrays of Ints set to 0. Arrays size is 10x5
var arr = Array(count: 3, repeatedValue: Array(count: 2, repeatedValue: 0))
// ...and for Swift 3+:
var arr = Array(repeating: Array(repeating: 0, count: 2), count: 3)
位置の要素を変更する
arr[0][1] = 18
または
let myVar = 18
arr[0][1] = myVar
サブ配列の変更
arr[1] = [123, 456, 789]
または
arr[0] += 234
または
arr[0] += [345, 678]
これらの変更の前に0(ゼロ)の3x2配列を持っていた場合、今は持っています。
[
[0, 0, 234, 345, 678], // 5 elements!
[123, 456, 789],
[0, 0]
]
従って、部分配列は変更可能であり、行列を表現していた初期配列を再定義することができることに注意してください。
アクセスする前にサイズ/境界を調べる
let a = 0
let b = 1
if arr.count > a && arr[a].count > b {
println(arr[a][b])
}
備考 3次元配列とN次元配列のマークアップのルールは同じです。
関連
-
[解決済み] Scala:Arrayに要素を追加する最良の方法は何ですか?
-
[解決済み] int (*p)[10]=s と int (*o)[5]=&s の違いは何ですか?
-
[解決済み] SwiftでUInt8バイト配列を文字列に変換する方法
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] JavaScriptで2次元の配列を作成するにはどうすればよいですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】配列に何かを追加する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】アセンブリ言語での配列のバブルソート
-
[解決済み] MIPSで配列を作る(アクセスする)方法
-
[解決済み] MATLABで動的配列を作成する方法
-
[解決済み] Rで3D行列をセットアップし、特定の要素にアクセスする
-
[解決済み] jsonに複数の値を1つのキーで格納する
-
[解決済み] MASMアセンブリの配列 (非常に混乱している初級者)
-
[解決済み] SwiftでUInt8バイト配列を文字列に変換する方法
-
[解決済み] Ruby: ハッシュの配列で Enumerator を取得しようとすると nil:NilClass の未定義メソッド `[]' が発生する。
-
[解決済み] Javascript/Typescriptで配列のクローンを作成する
-
[解決済み] Postgres の配列の NOT