問題タブ [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.
java - コレクションまたは配列の Java printf 機能
Python では、書式設定された print ステートメントでタプルを使用できます。タプル値は、書式設定された文字列の指定された位置で使用されます。例えば:
同様の方法でJava printfステートメントで配列またはコレクションを使用する方法はありますか?
ドキュメントを見たところ、Calendar などのいくつかのタイプのサポートが組み込まれているようですが、コレクションについては何も表示されません。
これがJavaで提供されていない場合、コレクションにデータを入力し、1つのフォーマット文字列を使用して多くのコレクションから値を出力する(ネストされたループ以外)場合に使用されるJavaイディオムはありますか?
.net - コレクションアイテムを.NETの別のコレクションにコピーします
.NET(VB)で、1つのコレクション内のすべてのアイテムを取得し、それらを2番目のコレクションに追加するにはどうすればよいですか(2番目のコレクションの既存のアイテムを失うことなく)?私はこれより少し効率的なものを探しています:
私のコレクションはジェネリックコレクションであり、基本クラスから継承されています--Collection(Of)
java - Java クラスのインターフェースを優先する必要があるのはなぜですか?
PMDは、次の違反を報告します。
違反は、「'ArrayList' のような実装型を使用しないでください。代わりにインターフェイスを使用してください」でした。
次の行は違反を修正します。
List
の代わりに後者を使用する必要があるのはなぜArrayList
ですか?
.net - 列挙せずにジェネリック辞書を非ジェネリックに変換する方法は?
ジェネリックIDictionaryのインスタンスを非ジェネリックIDictionaryに変換したい。IDictionaryの新しいインスタンスを作成せずにそれを行うことはできますか? このタスクをサポートするフレームワークはありますか?
非ジェネティック IDictionary を実装するクラスでジェネリック IDictionary をラップしようとしましたが、何らかの形でジェネリック ICollection を非ジェネリック ICollection に変換する必要があることを発見したので、Mark Gravell ソリューションを使用します。
.net - HashSetとリストのパフォーマンス
HashSet<T>
ジェネリッククラスの検索パフォーマンスがジェネリッククラスよりも高いことは明らかですList<T>
。ハッシュベースのキーをList<T>
クラスの線形アプローチと比較するだけです。
ただし、ハッシュキーの計算自体にCPUサイクルがかかる場合があるため、少量のアイテムの場合、線形検索がの実際の代替手段になる可能性がありHashSet<T>
ます。
私の質問:損益分岐点はどこにありますか?
List<T>
シナリオを単純化するために(そして公平を期すために)、クラスが要素のEquals()
メソッドを使用してアイテムを識別すると仮定しましょう。
c# - スレッドセーフなディクショナリを実装する最良の方法は何ですか?
IDictionary から派生させ、プライベート SyncRoot オブジェクトを定義することで、C# でスレッド セーフな Dictionary を実装することができました。
次に、コンシューマ全体 (複数のスレッド) でこの SyncRoot オブジェクトをロックします。
例:
私はそれを機能させることができましたが、これは醜いコードになりました。私の質問は、スレッドセーフな辞書を実装するためのより優れた、よりエレガントな方法はありますか?
c# - C#の別のコレクションに順番に格納されたIDでソートされたオブジェクトのコレクションへのWPFバインド
パズルが好きな方へ: 最近この問題が発生しましたが、もっと良い解決策があるはずです。
検討 :
- foosと呼ばれるFooオブジェクトの ObservableCollection 。
- Fooには文字列 ID フィールドが含まれています
- 私はfoosを制御できません
- フードが変わる
それで:
- sortLikeThisという別のコレクションがあります
- sortListこれには文字列が含まれます
- 文字列は、 fooが表示される順序の ID です。
プラス:
- sortLikeThisにない ID を持つオブジェクトが foos にある可能性があります。これらは最後に行く必要があります。
- 同様に、 foos には表示されない文字列が sortLikeThis に含まれる場合があります。
sortLikeThisの ID で定義された順序でfoosのFooオブジェクトにバインドして wpf に表示する良い方法はありますか?
java - java.util.Collection の従来のセット操作
java.util.Collection クラスに従来のセット操作の組み込み機能はありますか? 私の特定の実装は ArrayList 用ですが、これは Collection のすべてのサブクラスに適用する必要があるように思えます。私は次のようなものを探しています:
いくつかの検索の後、自家製のソリューションしか見つけることができませんでした。また、「セット」の考え方と「コレクション」の考え方を混同している可能性があることも認識しており、それぞれ重複を許可および許可していません。おそらく、これは本当に Set インターフェイスの機能にすぎないのでしょうか?
組み込み機能を誰も知らない場合は、これを標準的な Java セット操作コードのリポジトリとして使用できますか? この車輪は何度も再発明されたと思います。
c# - コレクションをスレッドセーフにしますか?
コレクション クラスを設計するとき、ロックをプライベートに実装してスレッド セーフにしない理由はありますか? それとも、その責任はコレクションの消費者に任せるべきですか?
c# - FOREACHによって返されるオブジェクトの順序は安定していますか?
同じコレクションに対する2回の反復で、オブジェクトが同じ順序で返されると想定しても安全ですか?明らかに、コレクションは他の方法で変更されていないことを前提としています。