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

.net - キューのサイズを制限する.NETで?

容量 2 に初期化した Queue<T> オブジェクトがありますが、明らかにそれは単なる容量であり、項目を追加すると拡大し続けます。制限に達したときに項目を自動的にデキューするオブジェクトが既に存在するか、または独自の継承クラスを作成するための最良のソリューションはありますか?

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

c# - キーと値のペアのデータ構造の最適な実装?

そのため、私は最近 C# をいじっていますが、すべてのジェネリック コレクションには少し混乱しています。ツリーのヘッドがキーと値のペアであるデータ構造を表現したいとします。その下にキーと値のペアのオプションのリストが 1 つあります (ただし、これらよりも多くのレベルはありません)。これは適切でしょうか?

これは、データをやり取りするための単純なシャントにすぎません。

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

c# - 複合コレクションのソート

そのため、WPF は CompositeCollections のビューに対する標準の並べ替えまたはフィルター処理の動作をサポートしていないため、この問題を解決するためのベスト プラクティスは何でしょうか。

異なるタイプのオブジェクト コレクションが 2 つ以上あります。それらを単一の並べ替え可能でフィルター可能なコレクションに結合したい (並べ替えまたはフィルターを手動で実装する必要はありません)。

私が検討したアプローチの 1 つは、コレクションをソートしたいプロパティや、各タイプのオブジェクト インスタンスなど、いくつかのコア プロパティのみを持つ新しいオブジェクト コレクションを作成することです。

次に、2 つのオブジェクト コレクションをループ処理して、新しい複合コレクションを作成します。明らかに、これは少し強引な方法ですが、うまくいくでしょう。新しい複合オブジェクト コレクションでデフォルトのビューの並べ替えとフィルタリングの動作をすべて取得し、データ テンプレートを配置して、その複合アイテムに実際に格納されているタイプに応じてリスト アイテムを適切に表示できます。

これをよりエレガントな方法で行うための提案は何ですか?

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

c# - 強く型付けされた汎用リストを反復処理する最良の方法は何ですか??

C#.NET と VB.NET で厳密に型指定されたジェネリック List を反復処理する最良の方法は何ですか?

0 投票する
21 に答える
216572 参照

java - 変換リストリストする

整数のリストがあり、List<Integer>すべての整数オブジェクトを文字列に変換して、新しい。で終了したいと思いますList<String>

当然、新しい整数を作成して、各整数List<String>を呼び出すリストをループすることもできますが、それを行うためのより良い(より自動化された)方法String.valueOf()があるかどうか疑問に思いました。

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

java - groovyのリストからマップを作成するためのショートカット?

私はこれのためにいくつかのソートハンドが欲しいです:

GDKのものがどのようであるかを考えると、私は次のようなことができると期待しています。

しかし、私はドキュメントに何も見ていません...私は何かが欠けていますか?それとも私はあまりにも怠惰ですか?

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

vb.net - Linq を使用しないジェネリック コレクションのページング

System.Generic.Collections.List(Of MyCustomClass) 型のオブジェクトがあります。

整数変数 pagesize と pagenumber が与えられた場合、MyCustomClassオブジェクトの単一ページのみを収集するにはどうすればよいですか?

これは私が持っているものです。どうすれば改善できますか?

0 投票する
18 に答える
4620 参照

c# - リストまたはBusinessObjectCollection?

C#ジェネリック以前は、IEnumerableを実装したコレクションベースを作成することで、誰もがビジネスオブジェクトのコレクションをコーディングしていました。

IE:

そして、そこからビジネスオブジェクトコレクションを導き出します。

ジェネリックリストクラスを使用して、代わりにそれを使用する人はいますか?私は2つのテクニックの妥協点を使用していることに気づきました。

これを行うのは、リストを渡すだけでなく、強く型付けされた名前が好きだからです。

あなたのアプローチは何ですか?

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

java - Java で 2 つのコレクションを比較し、それらに基づいて行動する最善の方法は?

同じオブジェクトの 2 つのコレクションがCollection<Foo> oldSetありCollection<Foo> newSetます。必要なロジックは次のとおりです。

  • foo(*) にoldSetあるがそうでない場合はnewSet、コールdoRemove(foo)
  • それ以外の場合fooは inではoldSetなく in の場合newSet、呼び出しますdoAdd(foo)
  • そうでなければfoo、両方のコレクションにあるが変更されている場合は、呼び出しますdoUpdate(oldFoo, newFoo)
  • それ以外の場合!foo.activated && foo.startDate >= nowは、呼び出しますdoStart(foo)
  • それ以外の場合foo.activated && foo.endDate <= nowは、呼び出しますdoEnd(foo)

(*) "in" は一意の識別子が一致することを意味し、必ずしもコンテンツが一致するとは限りません。

removeSet現在の (レガシー) コードは、addSet、 、updateSetstartSetおよびを把握するために多くの比較をendSet行い、ループして各項目に作用します。

コードは非常に厄介です (スパゲッティ ロジックをいくつか既に省略しているためです)。これをリファクタリングしようとしています。その他の背景情報:

  • 私の知る限り、実際にoldSetnewSetArrayList
  • 各セットに含まれるアイテムは 100 未満で、最大で 20 になる可能性が高い
  • このコードは頻繁に呼び出されます (数百万/日で測定されます)、セットはめったに異なりません

私の質問:

  • oldSetID をキーとしてandnewSetを(ここでは順序は関係ありません)に変換するとHashMap<Foo>、コードが読みやすくなり、比較しやすくなりますか? 変換時に失われる時間とメモリのパフォーマンスはどれくらいですか?
  • 2 つのセットを反復して適切な操作を実行すると、より効率的かつ簡潔になりますか?
0 投票する
9 に答える
322782 参照

c# - C# でのコレクションのフィルタリング

C# でコレクションをフィルター処理する非常に高速な方法を探しています。私は現在ジェネリックList<object>コレクションを使用していますが、パフォーマンスが向上する場合は、他の構造を使用することにオープンです。

現在、私は新しいリストを作成しList<object>、元のリストをループしています。フィルタリング基準が一致する場合、コピーを新しいリストに入れます。

これを行うより良い方法はありますか?一時的なリストが不要になるようにフィルタリングする方法はありますか?