問題タブ [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.
c# - 文字列メンバーの条件に一致するコレクションからオブジェクトを見つける最速の方法
特定のクラスのコレクション (配列、一般的なリスト、またはこの問題に対する最速ClassFoo
の解決策であるもの) があるとします。それを呼び出しましょう。
コレクションに 50.000 アイテムがあり、すべてメモリ内にあるとします。ここで、バー メンバーの条件に従うコレクション内のすべてのインスタンスをできるだけ早く取得したいと考えています。たとえば、次のようになります。
できるだけ早く結果を得るにはどうすればよいですか? 高度なインデックス作成手法とデータ構造を検討する必要がありますか?
この問題のアプリケーション ドメインは、クエリを取得し、結果として提案のコレクションを提供するオートコンプリートです。条件がこれ以上複雑になることはないと仮定します。また、多くの検索があると仮定します。
java - Java API でお気に入りの分野は?
他の Java プログラマーがこの言語の好きな部分を何と感じているのか、なぜそのように感じているのか、なぜ他のプログラマーがそれについての詳細な知識を必要とするのかを知りたいと思っています。シンプルさ、パフォーマンスなどの理由を探しています。ありがとうございます。
c# - リフレクションによるコレクションへのアクセス
リフレクションを使用してコレクションを (できれば foreach を介して) 反復処理する方法はありますか? リフレクションを使用してオブジェクトのプロパティを反復処理しています。プログラムがコレクションである型に到達したら、コレクションの内容を反復処理して、コレクション内のオブジェクトにアクセスできるようにしたいと考えています。
現時点では、コレクションであるプロパティで IsCollection フラグを true に設定して、すべてのプロパティに属性を設定しています。私のコードはこのフラグをチェックし、それが true の場合、リフレクションを使用して Type を取得します。コレクションでGetEnumeratorまたはItemsを何らかの方法で呼び出して、アイテムを反復処理できるようにする方法はありますか?
java - Java Collections remove メソッドが一般的でないのはなぜですか?
Collection.remove(Object o)がジェネリック ではないのはなぜですか?
Collection<E>
できたようですboolean remove(E o);
Set<String>
次に、個々の文字列を から削除する代わりに(たとえば) 誤って削除しようとするCollection<String>
と、後でデバッグの問題ではなく、コンパイル時のエラーになります。
c++ - コレクションをカプセル化するのは良い (正しい) 方法ですか?
msdn はstd::list
、削除または挿入時に要素の再配置を実行すべきではないと言っていますが、リスト要素へのポインターを返すのは適切で一般的な方法ですか?
delete
PS:ポインタのコレクション(およびデストラクタの要素が必要)、共有ポインタのコレクション(私は好きではない)などを使用できることを知っています.
java - マップを並べ替える値による
私はJavaに比較的慣れていないのでMap<Key, Value>
、値を並べ替える必要があることがよくあります。
値は一意ではないため、 を に変換keySet
し、キーに関連付けられた値でソートするカスタム コンパレータarray
を使用して、その配列を配列ソートでソートしています。
もっと簡単な方法はありますか?
.net - Collections.Generic と継承へのロジックとその適用
すべてがオブジェクトから継承されます。継承の基本です。すべてを暗黙的に継承ツリーにキャストできます。
したがって、これを論理的な結論までたどると、人のグループはオブジェクトのグループでもあります。
それがうまくいかないことを除けば、.NET を設計した人々がこれを見落としたか、または何らかの理由があり、そのどちらかはわかりません。少なくとも 1 回は、これが役立つ状況に遭遇しましたが、最終的に厄介なハック (キャスト演算子を実装するためだけに List をサブクラス化する) を使用する必要がありました。
問題はこれです: この行動には理由がありますか? 望ましい動作を得るためのより簡単な解決策はありますか?
記録として、私がこの種の動作を望んでいたのは、ToString() を呼び出して文字列を適切にフォーマットすることでオブジェクトのリストを表示する汎用印刷機能だったと思います。
.net - .NET で IEnumerable が空かどうかを判断するための、堅牢で洗練された、再利用可能なコードは何ですか?
IEnumerable かどうかを判断するために、最も再利用可能でありながらエレガントなコードを見つけようとしています。理想的には、これは、IEnumerable が空かどうかを確認する必要があるときにいつでも呼び出すことができる関数であるべきです。
IEnumerable は技術的にコレクション (またはイテレータのキュー) をカプセル化して、基礎となる結果をそれが繰り返されるため、問題が発生します。ただし、これは IEnumerable.Count() の実装の障害にもなり、MS がそれを提供するのを止めることはありませんでした。
だから私は、誰かがより良いものを持っているかどうかを確認するためにそれをSOに入れ、他の誰かがそれを役に立つと思うべきだと思った.
編集: うわー、IEnumerable.Any について知らなかったなんて信じられない。私はそれが存在することを知っていましたが、それが何をするかをわざわざチェックすることはありませんでした. これを教訓にしましょう。ドキュメントを読んでください。メソッド名があなたが望むことをすることを意味しないからといって、それがあなたが望むことをしないという意味ではありません.
java - (述語に基づいて)Javaコレクションをフィルタリングする方法は?
java.util.Collection
述語に基づいてフィルタリングしたい。
c# - C# でオブジェクトがディクショナリかどうかをテストする
オブジェクトが辞書かどうかをテストする方法はありますか?
メソッドで、リスト ボックスで選択した項目から値を取得しようとしています。状況によっては、リスト ボックスがディクショナリにバインドされることがありますが、これはコンパイル時にはわかりません。
私はこれに似たようなことをしたいと思います:
リフレクションを使用して実行時にこれを動的に行う方法はありますか? ジェネリック型でリフレクションを使用してキー/値パラメーターを決定できることはわかっていますが、それらの値を取得した後に残りを行う方法があるかどうかはわかりません。