2011-11-07 3 views
1

私はScalaでDB管理ツールを作成しようとしています。このデータベースから、配列に渡すデータに基づいてサイズを変更することができます。私はC、PHP、VBなどでこれを行う方法を知っていますが、Scalaの構文を理解できないようです。Scalaの配列のサイズを変更するには

私はこれは単純な問題であるべきと確信しているので、任意の助けはあなたが本当に配列を使用したい、またはあなたが直接そのコンテナを使用することができます場合は、この作業のためにSystem.copyを使用することができます

+0

Hah! Brian AngewがArrayBuffersを指し示してくれてありがとうございました。[リンク](http://stackoverflow.com/questions/3527131/scala-dynamic-multi-dimensional-mutable-arrays-like-datastructures)で非常によく説明されています。私が今必要なものを手に入れた – Museless

+0

彼に感謝しないで、彼の答えを受け入れる。 –

答えて

5

のように自動的にサイズが変更されます.Scalaのデフォルトのコレクションは不変である傾向があります。オペレーションは既存のコレクションから(要素の追加/削除などによって)新しい不変のコレクションを作成します。これは、反復処理やコレクションのマルチスレッドアプリケーションの作成時にコレクションが変更されないことです。がより容易になる傾向があります(多くの注意事項/標準Javaの書き方についての前提がここに当てはまります)。

可変配列が必要な場合はArrayBuffer(配列の実装が変更可能なコレクション)を見たことがありますか?

val a = new scala.collection.mutable.ArrayBuffer[String]() 
a += "A" 
a += "B" 
a(1) // gives you 'B' 
+0

それで、通常の配列にオブジェクトを追加したり削除したりして、新しい配列を作成する方法はありますか?また、ResizeableArrayは私が欲しいと思うように聞こえますが、 "val info:ResizeableArray [String] =新しいResizeableArray [String](3)"が機能していないため、インスタンス化する方法がわかりません – Museless

+0

申し訳ありませんが、 Scalaの初心者で、何をしようとしているのかの機能的なコード例が見つかりません – Museless

+0

申し訳ありません。 ResizableArrayであなたを欺く。これはArrayBufferの上にある特徴です。配列を変更する例は上記を参照してください。 –

関連する問題