問題タブ [treeset]
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 - TreeSetからオブジェクトを印刷する方法
TreeSetに保存したオブジェクトのインスタンス変数を出力したいと思います。
したがって、3つのインスタンス変数を持つオブジェクトが与えられた場合、TreeSet内のオブジェクトを反復処理し、それらのivarを出力したいと思いますが、次のようになります。
最初のオブジェクトのivar1と2番目のオブジェクトのivar2を取得します。そして、すべての検索で、イテレータを次のオブジェクトに移動する前に、1つのオブジェクトのすべてのivarを出力する方法が見つかりませんでした。
それを実装する方法について何かアイデアはありますか?
前もって感謝します!=)
equals - Java TreeSet が一意の値を格納しない
Artifacts と呼ばれるオブジェクトの TreeSet があります。次のように、オブジェクトの equals および hash コード メソッドをオーバーライドしました。
equals メソッドにプリントを入れましたが、呼び出されません。次のようなコンパレータで TreeSet をインスタンス化しました。
TreeSet は equals オーバーライドに基づいて一意性を確立することを読みました。
TreeSet に同じ ArtifactId を持つ複数のオブジェクトが表示されますが、これは必要なほど一意ではありません。
equals および hash コードのメソッドに何か欠けているものはありますか?
java - java.util.TreeSetのtailSet操作の時間計算量はどれくらいですか?
スイープラインを使用して2D最接近ペアアルゴリズムを実装していましたが、特定のy座標の上の6つのポイントを見つける必要があると表示されます。私が行ったのは、ポイントをy座標でソートされたTreeSetに配置し、tailSetメソッドを使用して、特定のポイントより上のすべてのポイントを取得し、最大6回反復することです。
tailSet操作の複雑さがO(log n)であるかどうか疑問に思いました。そうである場合、tailSetを最大で6回繰り返しますか?O(log n)?
参照: http: //people.scs.carleton.ca/~michiel/lecturenotes/ALGGEOM/sweepclosestpair.pdf
java - TreeSetで等しい要素を検索する
私はいくつかの要素の歴史的な見方を発展させています。各要素には開始日と終了日があります。期間は重複してはならないため、各開始日は前の終了日以降である必要があります。終了日がnullの場合、要素は開始日から終了日がわかるまでアクティブです。
テストの目的で、私はこのクラスを作成しました:
TreeSetを使用して要素を並べ替えます。現在、アクティブな要素または先着の要素を取得できないという問題があります。
JavaDocを見ると、ceilingメソッドでうまくいくはずです。
指定された要素以上のこのセット内の最小要素を返します。そのような要素がない場合はnullを返します。
ただし、これは機能しません。
テストケースでは、一連のエントリを使用してTreeSetを作成します。
次に、次のコードを使用して上限を取得します。
私が期待する結果は、開始5と終了7のエントリ(「等しい」エントリ)です。ただし、結果は、開始7と終了9(大きい方のエントリ)のエントリになります。どちらの結果も、指定された要素以上であると見なされます。しかし、JavaDocは最小の要素を返すと述べているので、5-7エントリを期待しています。
java - Hibernate ConstraintViolationException: 子の SortedSet コレクションを削除できませんでした
Claim
(親) とClaimInsurance
(子)の 2 つのクラスがあります。それらは次のとおりです。
と:
を削除しようとすると、Claim
次の例外が発生します
claimInsurances
クラスのマッピングを次のように変更するとClaim
、すべて正常に動作します。
Set
マッピングで( )を使用すると問題が発生するようですが、HashSet
代わりにSortedSet
( TreeSet
) を使用するとエラーが発生します。
実際の問題は何ですか?私は何が欠けていますか?
java - Javaでハイスコア画面を作る
私が取り組んでいるゲームのハイスコア画面を作成しようとしています。以前のプレイヤーのトップ 10 スコアと、プレイを終了したばかりのプレイヤーのスコアをランキング (ハイスコアのリストの順序) とともに表示したいと考えています。このハイスコアのリストは、スコアに従ってソートされ、スコアが同じ場合はスコアに従ってソートされます。私はこれをしようArrayLists
とTreeSets
しました。これらの両方を取得してデータを適切に並べ替えることができますが、プレイを終了したばかりのプレーヤーの特定の情報を引き出すのに問題があります。
マップを見てきましたが、データを並べ替えたい方法では機能しないようです。誰かがこの問題の解決策を教えてもらえますか?
以下は、そのうちの 1 つのために作成した小さなスクラッチ プログラムです。
c1
とc2
が のどこにあるかを確認し、とTreeSet
と一緒に表示したい。name
age
java - TreeSet は内部で TreeMap を使用しているため、Treeset を使用する場合は Hashcode メソッドを実装する必要がありますか?
javadocs forTreeSet
が言うとき、それが何を意味するのか知りたい
このクラスは、TreeMap インスタンスに裏打ちされた Set インターフェイスを実装していますか?
以下の例では、メソッドを実装していませんが、Hashcode
期待どおりに動作しています。つまり、オブジェクトを並べ替えることができます。Equals
動作を確認するために、意図的に一貫した実装を実装していないことに注意してくださいTreeSet
。
この例では、 が出力され[Tom Ben, Tom jon, Tom Wik]
ます。compareTo
したがって、メソッドに基づいてソートされておりhashcode()
、このシナリオではメソッドは重要ではないように見えます。ただし、Treeset
TreeMap でサポートされているため、内部的にソートに使用されている場合、オブジェクトのハッシュはTreeMap
どのようになっていますか?TreeMap
java - java ツリーセットが illegalArgumentException をスローしています: キーが範囲外です
エラーをスローする例を再現するために、コードを削除しました。
コードの目的は、セットのサブセットを取得するときに、ある種のロールオーバーを実装することです。たとえば、上記の場合、c [排他的] から b [包括的] までのすべての要素が必要です。tailSet() または headSet() 行をコメントアウトすると、残りのコードがうまく機能することに気付きました。ただし、両方の行がある場合は、
java.lang.IllegalArgumentException: キーが範囲外です
java - ツリーセットの例
別のオブジェクトなのに、なぜ 3 番目のオブジェクトがツリーセットに追加されないのですか?
出力:
java - 最適化された get および iterate 以降の Java データ構造
Log N 時間で get/find を実行し、get 操作によって返されたオブジェクトから反復処理を行うには、データ構造が必要です。反復子は、要素がデータ構造に挿入されるのと同じ順序で反復する必要があります。
TreeSet を使用してこれを達成できますか? または他のデータ構造?
ありがとう!