タグ付けされた質問 「immutable-collections」

9
ImmutableMapまたはMapを返す方が良いですか?
Mapを返すメソッドを書いているとしましょう。例えば: public Map<String, Integer> foo() { return new HashMap<String, Integer>(); } しばらく考えた結果、このマップが作成された後で変更する理由はないと判断しました。したがって、私はImmutableMapを返したいと思います。 public Map<String, Integer> foo() { return ImmutableMap.of(); } 戻り値の型を汎用のMapのままにするか、ImmutableMapを返すように指定する必要がありますか? 一方で、これがまさにインターフェースが作成された理由です。実装の詳細を非表示にします。 一方、このままにしておくと、他の開発者はこのオブジェクトが不変であるという事実を見逃す可能性があります。したがって、私は不変オブジェクトの主要な目標を達成しません。変更可能なオブジェクトの数を最小限に抑えてコードをより明確にするため。最悪の場合でも、しばらくすると、誰かがこのオブジェクトを変更しようとする可能性があり、これによりランタイムエラーが発生します(コンパイラーは警告しません)。

1
キーによるImmutableSortedDictionary範囲列挙
私はC#のについて読んでいたImmutableSortedDictionary中でSystem.Collections.Immutable、私のプログラムでそれを適用する方法を考えます。私はC ++ lower_boundとupper_bound(ここを参照)をかなり気に入っており、範囲検索のようなものを見たいと思っていました。ただし、同様のメソッドがドキュメントに不思議に欠けているようです。何か不足していますか?または、MSはソートされた範囲への効率的なアクセスなしにソートされた辞書を本当に提供しますか?それはIEnumerable、拡張メソッドのように、キーに対して実行できることとまったく同じではないようです。そのため、コレクションから直接提供されるものを見ていません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.