問題タブ [immutable-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 投票する
1 に答える
422 参照

c# - BCL 不変コレクション: 等価性は非対称です

不変のデータ構造は第一級の値であるため、他の値と同様に、それらを等値または順序で比較できます。IEqualityComparer<T>しかし、すべての不変コレクションは/IComparer<T>インスタンスによってパラメーター化できるため、BCL 不変コレクション プレビューでは事態が複雑になりました。等式関係が非対称になるため、異なる比較子を持つ不変コレクションを比較することは許可されないようです (比較子自体には等式が定義されていないため)。

この動作は何らかの方法で修正されますか?

0 投票する
0 に答える
657 参照

c# - System.Collections.Immutable.IImmutableList はありますか.Microsoft の不変コレクションのプレビューからの追加には、位置要件がありますか?

O(1) スタック操作と O(log n) リスト操作を提供する不変コレクションを実装しています。その結果、前面に要素を追加する方が、背面に要素を追加するよりも高速です。System.Collections.Immutable.IImmutableList<T>.Add()( https://nuget.org/packages/Microsoft.Bcl.Immutablehttp://blogs.msdn.com/b/bclteam/archive/2012/12/18/preview-of-immutable-の有効な実装はできますか? collections-released-on-nuget.aspx ) コレクションの後ろではなく前に要素を追加しますか?

インターフェイスの定義方法は次のとおりです。

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

c# - ImmutableArray の違いおよび ImmutableList

ImmutableArray<T>との違いは何ですか?またImmutableList<T>、それぞれをどこで使用するのが最適ですか?

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

scala - 不変の HashSet への追加

申し訳ありませんが、私は最近、"Programming in Scala", 2nd Edition on page 685 の例を見て、私には奇妙に思えました:

不変コレクションに何かを追加するにはどうすればよいですか? REPL を試してみたところ、問題なく動作しました。

奇妙な事実は、 += 演算子がimmutable.HashSet api ページで定義されていないことです。何が起こっているのか理解できる人はいますか?

ありがとう。

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

c# - ReadOnlyCollection ではなく ImmutableList を使用する理由

.NET 4.5 には新しい名前空間System.Collections.Immutableがあります

このパッケージは、不変コレクションとも呼ばれる、スレッド セーフで内容が決して変更されないことが保証されているコレクションを提供します。

よくわかりません。スレッド セーフの問題は、 ReadOnlyCollectionクラスによって既に解決されているのではないでしょうか。代わりにImmutableListを使用する理由


IReadOnlyListインターフェイスもあると思います。他のスレッドが別のインターフェイスでオブジェクトを編集する可能性があるため、これはスレッド セーフの問題を暗黙のうちに解決するわけではありません。