問題タブ [scala-collections]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 慣用的な Scala Map アップサート
私は Scala でマップを操作しており、「キーに関連付けられた値がない場合は、それを作成し、それをマップに入れて返す」という通常のことを行っています。
私には、これは慣用的な Scala コードとは思えません。ジャバって感じ。これをもっと簡潔に書く方法はありますか?Map.default() をオーバーライドして、新しい値を挿入して返すことができるように見えました。わかりません。
ありがとう!
scala - Iterator[Option[T]] を Iterator[T] に変換する scala
私は を持っていて、それらの のIterator[Option[T]]を取得したいです。これよりも良い方法があるはずです:Iterator[T]OptionT isDefined
私はそれが1つの構成で可能だと思っていたでしょう...誰か何かアイデアはありますか?
java - new HashSet(Collection) に相当する Scala
Javaに相当するScalaコンストラクタ( immutableを作成する)は何ですか? HashSet
cタイプはどこCollection<? extends T>ですか?
HashSet オブジェクトで見つけることができるのはapply.
scala - コレクションをキーごとのマップに変換するScalaの最良の方法は?
ctypeのコレクションがあり、 ( typeTなどの) プロパティがあるp場合、 map-by-extracting-keyを実行する最良の方法は何ですか?TP
1 つの方法は次のとおりです。
しかし今、可変マップが必要です。これを1行にして、不変のマップになるようにするためのより良い方法はありますか? (明らかに、Java の場合と同様に、上記を単純なライブラリ ユーティリティに変えることもできますが、Scala では必要ないと思います)
java - Java コレクションを Scala コレクションに変換する
スタック オーバーフローの質問Scala と同等の new HashSet(Collection)java.util.Listに関連して、Java コレクション (たとえば) を Scala コレクションに変換するにはどうすればよいListですか?
私は実際に Java API 呼び出しをSpring の SimpleJdbcTemplateに変換しようとしています。これは a を返し、java.util.List<T>Scala immutableに変換しますHashSet。たとえば、次のようになります。
これはうまくいくようです。批判大歓迎です!
java - Scala コレクションの標準プラクティス
バックグラウンドから来てJava、私はコレクションを扱う一般的な慣行に慣れています: 明らかに例外がありますが、通常、コードは次のようになります:
私は、Scala のオプションの多さに少し当惑していることを告白しなければなりません。がある:
scala.List(およびSeq)scala.collections.Set(およびMap)scala.collection.immutable.Set(そしてMap、StackしかしそうではないList)scala.collection.mutable.Set(そしてMap、BufferしかしそうではないList)scala.collection.jcl
質問です!
- およびがパッケージ
Listで定義されていて、定義されていない のはなぜですか(の実装はコレクションのサブパッケージにあるにもかかわらず)?Seqscalascala.collectionSeq - コレクションを初期化してから凍結するための標準的なメカニズムは何ですか(Java では でラップすることによって実現されます
unmodifiable)。 - 一部のコレクション型 ( など
MultiMap) が変更可能としてのみ定義されているのはなぜですか? (不変はありませんMultiMap)?
Daniel Spiewak のscala コレクションに関する優れたシリーズを読んだことがありますが、実際にそれらを実際にどのように使用するかについてはまだ戸惑っています。以下は、完全なパッケージ宣言が強制されているため、少し扱いにくいようです。
不変コレクションは変更できないため (Java の場合と同様に、ラッパーの下で基礎となるコレクションを変更することができます) 、これは Java バージョンよりも間違いなく正しいと言えます。unmodifiable
scala - Scalaの不変セットがそのタイプで共変ではないのはなぜですか?
編集:元の回答に基づいてこの質問を書き直しました
クラスは、そのscala.collection.immutable.Set型パラメーターで共変ではありません。どうしてこれなの?
scala - イテラブルからコレクションを作成するとき、ScalaはSeqに変換する必要がありますか?
おそらく私は間違ったツリーを (再び) 吠えていますが、プロパティを として入力するのが通常の慣習である場合、 を指定してscala.collection.immutable.Set[A]これらの 1 つをどのように作成しますscala.Iterable[A]か? 例えば:
を介して不変セットを作成する必要がある理由を誰かが説明できますかSeq(そうでない場合は、どうすればよいですか)?