問題タブ [bag]
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 での配列としてのバッグの実装
プロジェクトのために、重複する可能性のある同種の値 (null を除く任意の Java オブジェクト) の順序付けされていないコレクションであるバッグ データ構造 (マルチセットとも呼ばれます) を実装することになっています。私はインターネットで広範な検索を行いましたが、List のようなものの代わりに配列を使用することに頭を悩ませており、クラスで配列を使用するための構文をよく理解していません。
UnsupportedOperationException をスローすることによって指摘されている場合を除いて、java.util.Collection のすべてを実装する必要があります。はい、配列を使用する必要があり、配列に追加すると、容量が 10 増加する必要があります。うまくいけば、私が追加した他のすべてもスムーズに実行されます. コメント ブロックに API 定義を含めました。どんな入力でも本当に役に立ちます。
マークが以下で尋ねたように、特定の要素を検索するためにバッグを検索する方法がわかりません。
java - Hibernate が MultipleBagFetchException をスローする - 複数のバッグを同時にフェッチすることはできない
Hibernate は、SessionFactory の作成中に次の例外をスローします。
org.hibernate.loader.MultipleBagFetchException: 複数のバッグを同時にフェッチすることはできません
これは私のテストケースです:
親.java
Child.java
この問題はどうですか?私に何ができる?
編集
OK、私が抱えている問題は、別の「親」エンティティが親の中にあることです。私の実際の動作は次のとおりです。
親.java
別の親.java
Hibernate は で 2 つのコレクションが好きではありませんFetchType.EAGER
が、これはバグのようです。私は異常なことをしていません...
FetchType.EAGER
問題から削除Parent
またはAnotherParent
解決しますが、私はそれが必要なので、実際の解決策は@LazyCollection(LazyCollectionOption.FALSE)
代わりに使用することです(解決策についてBozhoFetchType
に感謝します)。
ruby - Rubyにバッグの実装はありますか?
バッグ コレクション (オブジェクトが挿入された回数をカウントするセットのようなコレクション) の実装はありますか?
.net - オブジェクトをバッグに入れたいのはなぜですか?
System.Collections.ConcurrentBag<T>
クラスに関するSOの質問を見たばかりで、ASP.NETMVCのViewBag
プロパティを見ましたController
。私の経験では、人々がコードを書く際に何をしているのかを正確に理解していれば、人々のコードを使用する方が簡単であることを学びました。List<T>
aまたはaDictionary<TKey,TValue>
またはaが何を表すのかについては、かなり直感的だと思いますReadOnlyCollection<T>
。一方、 ABag
はそれほど直感的ではありません。
だから、私の質問は次のとおりです。特に.NET Frameworkに関して、このメタファーは何を表すことを意味しますか?Bag
nhibernate - NHibernateコレクションマッピング:更新ではなく削除と挿入
コレクションをマップして更新する方法がわかりません。私は2つのテーブルを持っています:
- オブジェクト-3intの複合PKがあります
- ObjectAliases-ObjectへのFKとNameへのnvarcharPKがあり、明らかにnameは一意です
オブジェクトには多くのエイリアスを含めることができますが、エイリアス名はオブジェクトごとに一意です。
したがって、オブジェクトにエイリアスをリストする必要があるので、次のようにしました。
私のマッピングは次のとおりです。
エイリアスリストからオブジェクトを問題なく作成および削除できます。Nhibernateは正常に挿入および削除します。しかし、どうすればエイリアスの名前を変更できますか?名前でエイリアスにFKがあり、エイリアスの名前を変更するときにNHibernateにsql UPDATEを実行させて、新しい名前を参照してすべてのFKでUPDATECASCADEを実行します。
私が行った場合:
NhibernateはUPDATEではなくINSERTを実行しようとします。どうすればUPDATEを実行できますか?
皆さん、ありがとうございました。
.net - NHibernateが主キーなしでテーブルを作成するのはなぜですか?
nHibernateのschemaExportクラスを使用してデータベースを作成します。これで、nhibernateマッピングを生成した属性を持つクラスができました。このクラスの一部は次のとおりです。
nHibernateマッピングの生成された部分は次のとおりです
このプロパティは、次の呼び出し時に作成される「CMS_PluginInstanceRouteParams」テーブルが正しいためです。
しかし、なぜこのテーブルに主キーがないのか疑問に思いました。生成された構造は
列ParamIdは、クラスPluginInstanceのテーブルへの外部キーであり、列Paramには、格納されているプロパティRouteParamsの値が正しく含まれています。
このテーブルに主キーは必要ありませんか?NHibernate.Mapping.Attributesを使用してこのプロパティに主キーを設定することは可能ですか?
nhibernate - NHibernate + 多対多 + バッグ + マッピング テーブル
私は次の3つのクラスを持っています。
transaction.Commit()
メソッドを実行しようとすると、 session.SaveOrUpdate()
forBusinessStream
の後、次のエラーが発生します。
("DBO"."BUS_STREAM_SCHEME_MAP"."BUS_STREAM_SCHEME_MAP_ID") に NULL を挿入できません
HBMファイル、
ビジネスストリーム
図式
BusinessStream_Scheme_Map
私は何を間違っていますか?
hibernate - NHibernate - 異なるプロパティに基づくコレクションを ID にマッピングする
次の表を検討してください。
次のようにマッピングされます。
Client を取得すると、Employee.Client = Client.Id である Employees のコレクションも取得します。偉大な。
これを考慮してください:
Employee.AlternativeClientId = Client.AlternativeId である従業員のコレクションを持つクライアントを返したいと思います。
キーノードは次のようになると思います。
しかし、それを超えて私は困惑しています。コレクションに適用できるフィルターはありますが、2 番目のバージョンの Employees のセットは最初のバージョンの Employees のサブセットではない可能性があるため、それは今後の方法ではないと思います。試してみましたが、行き止まりのようでした。ClientId = Client.Idを持つ従業員だけでなく、クエリを指定する方法はありますか?
(「理由」については、システムが異なればデータの見方が異なることに関係しています。)
java - 初めてJavaインターフェイスを実装すると、コンパイルが成功しません
インターフェイスを使用してバッグデータ構造を実装する必要がありますjava.util.Collection
。私はデータ構造の実際の実装について助けを求めていません。プログラムをコンパイルできません。実際にメソッドの実装を開始する前に、(メソッドの非機能シグネチャを使用して)インターフェイスの空白の実装をコンパイルするだけです。
コンパイラは、などのメソッドのパラメータでクラスEを見つけることができませんadd
。のクラスを定義することになっていますE
か、それともEが実際に何であるかについて理解していないことがありますか?コンパイラは、クラスコレクションが見つからないと言います(のようなメソッドのパラメータでaddAll
)インポートしjava.util.Collection
ますか、それとも他に知っておくべきことがありますか?コンパイラも何も知らclass Iterator
ず、私も知らない。
これはおそらく初歩的なことだと思いますが、昨日はグーグルなどで何も見つかりませんでしたし、教授の講義はまったくプロジェクトに沿っていません。私はこれに迷っています。助けてくれてありがとう!
編集:また、私はこれについてあまり検索していませんが、誰かが「?」などの有用なことを教えてくれればpublic boolean addAll (Collection<? extends E> c) {}
、それは大いにありがたいです。
string - 線形時間で文字列内のマルチセットのすべての組み合わせを見つける方法は?
サイズ m の文字のバッグB
(マルチセット) とサイズ n の文字列テキスト S が与えられます。B
S で (4!=24 の組み合わせ)によって作成できるすべての部分文字列を線形時間で見つけることは可能O(n)
ですか?
例:
私が見つけた最速の解決策は、各キャラクターのカウンターを保持し、各ステップでそれをバッグと比較することです。したがって、ランタイムはO(n*m)
. 必要に応じてアルゴリズムを表示できます。