問題タブ [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 - immutable.Mapの慣用的な「取得または更新」?
immutable.Map インスタンスの getOrElseUpdate の慣用的な方法は何ですか? 以下のスニペットを使用しますが、冗長で非効率的です
java - Javaをscalaコレクションに暗黙的に変換しようとしたときのNoSuchMethodError
私は自分のコードでこの種のエラーを受け取り始めました:
次に、このコードでトリガーされる、興味のない性質のスタックトレースの長い画面が表示されます。
はどこにauthors
ありますかjava.lang.Set
。なぜこれが起こっているのか誰かが知っていますか?これは実行時の失敗であり、コンパイルの失敗ではありません。
scala - scala のソートされたコレクションに存在しないキーの次に大きな値を効率的に返すには?
scala で、ソートされたマップ、ツリー、またはリストが与えられた場合、存在しないキーの次に大きな値を返す最も効率的な方法は何ですか? さらに、この要素から始まる「イテレータ/カーソル」を取得することは可能ですか?
編集:
「実行時間」、「メモリ使用量」、「明快さ」、「実装と保守に必要な最小限のプログラマー時間」など、「効率的に」の解釈に満足しています (Kevin Wright 氏に感謝)。
performance - Scala:可変シーケンスで最速の `remove(i:Int)`
シングルスレッド環境でのscala.collection.mutable
ように、インデックスによる削除をたくさん行う場合は、パッケージからどの実装を採用する必要がありますか?remove(i: Int)
最も明白な選択はListBuffer
、バッファサイズによっては線形時間がかかる可能性があることを示しています。この操作のためのコレクション、log(n)
または一定の時間さえありますか?
scala - Scala-ひねりを加えたリストから一意の値を取得する
私はこのようなリストを持っています:
そして私はこのようなリストで終わる必要があります:
どうしたの?
になります
(少なくとも1つのFAILがある場合、そのエントリを保持する必要があるため)
エージェント1とエージェント2のエントリは、それぞれに1つのエントリしかないため、同じままです。
私が見つけた最も近い答えは 、Scalaでリスト内の一意のアイテムを見つける方法です が、FAILでエントリを保持する方法がわかりません。
質問が明確であることを願っています。そうでない場合は、より良い例を示します。
ありがとう
scala - Scala:これはLinkedListLike特性の間違いですか?
これは2.8.1のScala標準ライブラリのソースからのものです
この最後の行はすべきではありませんnext = that.append(next)
か?(つまり、このリンクリストの残りの部分を、挿入するリストの最後に配置しますか?
そうでない場合は、なぜですか?このコードは現在、挿入しているリストを現在のリストの最後に追加します。つまり、appendと同じです。
scala - Scalaで並列コレクションを使用する際の好ましい方法は何ですか?
par
最初は、すべてのコレクションクラスが、コレクションを適切な並列データ構造に変換する追加のメソッドを受け取ると想定しました( map
Scala 2.8の要素タイプに最適なコレクションを返すなど)。
現在、一部のコレクションクラスはpar
メソッド(例:配列)をサポートしているようですがtoParSeq
、他のコレクションクラスはtoParIterable
メソッド(例:リスト)を持っているようです。Arrayはあまり使用されないか、推奨されないため、これは少し奇妙です。
その理由は何ですか?par
「正しいこと」を行うすべてのコレクションクラスで利用できるようにしたほうがよいのではないでしょうか。
並行して処理される可能性のあるデータがある場合、どのタイプを使用する必要がありますか?実装の特徴scala.collection
またはタイプを直接?
それともArrays
、並列化する方が安いように見えるので、今すぐ優先する必要がありますか?
java - Scala 2.8.1 は暗黙的に java.util.List に変換します>
次のように作成された Scala データ構造があります。
暗黙的scala.collection.JavaConversions
に ( orを使用してscala.collection.JavaConverters
) に変換してjava.util.List<java.util.Map<String, Object>>
、後者を期待する Java メソッドに渡したいと思います。
これは可能ですか?
私はすでにそれを行う次のメソッドを作成しましたが、コンパイラによって自動的に実行できるかどうか疑問に思っていましたか?
scala - Scalaリストに順序がないのはなぜですか?
Scalaにリストの暗黙的な順序付けがない理由はありますか?
編集
はい、私の質問は、スコープ内にすでに暗黙的に含まれている組み込みの順序付けがない理由です。私には、0の項目は等しく、2番目のリストの項目は1であるため、2番目のリストは最初のリストより「少ない」はずです。リストは2つの異なるサイズです。