問題タブ [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.

0 投票する
5 に答える
1876 参照

scala - Scalaコレクションの拡張:1つのベースの配列インデックス演習

演習として、Scala Arrayコレクションを自分のOneBasedArrayに拡張したいと思います(期待どおりの動作をします。インデックス作成は1から始まります)。これは不変のコレクションなので、フィルター/マップなどを呼び出すときに正しいタイプを返すようにしたいと思います。

ここここここのリソースを読みましたが、これを配列(または例にあるもの以外のコレクション)に変換する方法を理解するのに苦労しています。私はこの種の構造で正しい方向に進んでいますか?

コレクションの拡張を説明するのに役立つその他のリソースはありますか?

0 投票する
4 に答える
14738 参照

scala - immutable.Mapの慣用的な「取得または更新」?

immutable.Map インスタンスの getOrElseUpdate の慣用的な方法は何ですか? 以下のスニペットを使用しますが、冗長で非効率的です

0 投票する
1 に答える
1781 参照

java - Javaをscalaコレクションに暗黙的に変換しようとしたときのNoSuchMethodError

私は自分のコードでこの種のエラーを受け取り始めました:

次に、このコードでトリガーされる、興味のない性質のスタックトレースの長い画面が表示されます。

はどこにauthorsありますかjava.lang.Set。なぜこれが起こっているのか誰かが知っていますか?これは実行時の失敗であり、コンパイルの失敗ではありません。

0 投票する
2 に答える
100 参照

scala - scala のソートされたコレクションに存在しないキーの次に大きな値を効率的に返すには?

scala で、ソートされたマップ、ツリー、またはリストが与えられた場合、存在しないキーの次に大きな値を返す最も効率的な方法は何ですか? さらに、この要素から始まる「イテレータ/カーソル」を取得することは可能ですか?

編集:

「実行時間」、「メモリ使用量」、「明快さ」、「実装と保守に必要な最小限のプログラマー時間」など、「効率的に」の解釈に満足しています (Kevin Wright 氏に感謝)。

0 投票する
3 に答える
4710 参照

performance - Scala:可変シーケンスで最速の `remove(i:Int)`

シングルスレッド環境でのscala.collection.mutableように、インデックスによる削除をたくさん行う場合は、パッケージからどの実装を採用する必要がありますか?remove(i: Int)最も明白な選択はListBuffer、バッファサイズによっては線形時間がかかる可能性があることを示しています。この操作のためのコレクション、log(n)または一定の時間さえありますか?

0 投票する
8 に答える
5514 参照

scala - Scala-ひねりを加えたリストから一意の値を取得する

私はこのようなリストを持っています:

そして私はこのようなリストで終わる必要があります:

どうしたの?

になります

(少なくとも1つのFAILがある場合、そのエントリを保持する必要があるため)

エージェント1とエージェント2のエントリは、それぞれに1つのエントリしかないため、同じままです。

私が見つけた最も近い答えは 、Scalaでリスト内の一意のアイテムを見つける方法です が、FAILでエントリを保持する方法がわかりません。

質問が明確であることを願っています。そうでない場合は、より良い例を示します。

ありがとう

0 投票する
1 に答える
327 参照

scala - Scala:これはLinkedListLike特性の間違いですか?

これは2.8.1のScala標準ライブラリのソースからのものです

この最後の行はすべきではありませんnext = that.append(next)か?(つまり、このリンクリストの残りの部分を、挿入するリストの最後に配置しますか?

そうでない場合は、なぜですか?このコードは現在、挿入しているリストを現在のリストの最後に追加します。つまり、appendと同じです。

0 投票する
1 に答える
650 参照

scala - Scalaで並列コレクションを使用する際の好ましい方法は何ですか?

par最初は、すべてのコレクションクラスが、コレクションを適切な並列データ構造に変換する追加のメソッドを受け取ると想定しました( mapScala 2.8の要素タイプに最適なコレクションを返すなど)。

現在、一部のコレクションクラスはparメソッド(例:配列)をサポートしているようですがtoParSeq、他のコレクションクラスはtoParIterableメソッド(例:リスト)を持っているようです。Arrayはあまり使用されないか、推奨されないため、これは少し奇妙です。

その理由は何ですか?par「正しいこと」を行うすべてのコレクションクラスで利用できるようにしたほうがよいのではないでしょうか。

並行して処理される可能性のあるデータがある場合、どのタイプを使用する必要がありますか?実装の特徴scala.collectionまたはタイプを直接?

それともArrays、並列化する方が安いように見えるので、今すぐ優先する必要がありますか?

0 投票する
2 に答える
938 参照

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 メソッドに渡したいと思います。

これは可能ですか?

私はすでにそれを行う次のメソッドを作成しましたが、コンパイラによって自動的に実行できるかどうか疑問に思っていましたか?

0 投票する
7 に答える
8741 参照

scala - Scalaリストに順序がないのはなぜですか?

Scalaにリストの暗黙的な順序付けがない理由はありますか?

編集

はい、私の質問は、スコープ内にすでに暗黙的に含まれている組み込みの順序付けがない理由です。私には、0の項目は等しく、2番目のリストの項目は1であるため、2番目のリストは最初のリストより「少ない」はずです。リストは2つの異なるサイズです。