問題タブ [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 カスタム コンパレータ アルゴリズム .. 文字列比較
提供された入力文字列から:
{ "200,400,7,1", "100,0,1,1", "200,200,3,1", "0,400,11,1", "407,308,5,1","100,600,9,1" } 、
同じものを TreeSet に追加して、3 番目の要素の順序で並べ替えたいので、予想される出力は次のようになります。
(100,0,1,1) (200,200,3,1) (407,308,5,1) (200,400,7,1) (100,600,9,1) (0,400,11,1)
しかし、私の実際の出力は次のとおりです。
(100,0,1,1)(0,400,11,1)(200,200,3,1)(407,308,5,1)(200,400,7,1)(100,600,9,1)
しかし、11 の文字列比較は 9 未満ですが、整数に関しては 11>9 です。私の予想される出力は異なります。同じことを解決するためのアイデアを提案してください。
java - SortedSetあるフィールドの同等性を比較し、別のフィールドで並べ替える
コードを確認してください:
プリントアウト
私が見るcompareTo
ように、等しいかどうかをチェックするために使用されるため(0が返された場合)。ただし、フィールドごとに一意であるかどうかを確認し、TestClass.name
並べ替えるだけで済みます。TestClass.value
java - GNUtroveを使用した整数のSortedSet
パフォーマンス上の理由から、一部のコードをGNUtroveに移行しています。
ただし、いくつかのTreeSetがあり、ソートされた反復とともに、かなり高速な更新とルックアップが必要です。これは、TreeSetの主なユースケースです。もちろん、使用方法を調べて、HashSetと同じようにうまく機能できるかどうかを確認します。
SortedSetのGNUTroveからの適切な代替品は何ですか?
ありがとうございました。
java - JavaでTreeSetのk番目の要素を返す方法は?
正しいデータ構造を使用していない可能性があります。セットを使用する必要がありますが、k 番目に小さい要素を効率的に返したいと考えています。TreeSet
Javaでこれを行うことはできますか? これを行う組み込みの方法はTreeSet
ないようです。
java - 可変属性に基づくTreeSetコンパレータ
私の問題は非常に基本的なものですが、それを正しく解決する方法がわかりません。エンティティの名前に基づいたコンパレータを使用するTreeSetがあります。ただし、その名前は変更できます。TreeSetの並べ替えを強制するにはどうすればよいですか?
私が呼び出すべきいくつかのset.relayout()
メソッドがありますか、それとも私はこれについてすべて間違っていますか?
java - Java - TreeSet を変換する最も効率的な方法文字列[]に?
私はこれをしていました:
しかし、実行時に ClassCastException が発生します。
私が考えられる唯一のことは、最初に配列を作成してから、myTreeSet の各要素を繰り返し処理し、それを配列に追加することです。これよりも良い方法があるに違いないようです。ありますか、それともこれを行う必要がありますか?
ありがとう。
java - 穴と交差点の長方形のコレクションをチェックする方法は?
長方形のコレクション (Java TreeSet) をチェックする方法を探しています。これは、x と y の範囲に Google guavas Range を使用して「同等の」Java クラスによって実装され、交差点と穴についてです。kd ツリーを使用するオプションがあることは知っていますが、そのような kd ツリーを構築する方法 (四角形の場合は 4d である必要がありますね) と、問題を解決する方法 (交差、穴)。
並べ替えでは、y 軸よりも x 軸が優先されます。
編集: (問題をもう一度述べてみてください): 使用例は、任意のテーブルを作成することです (2 つまたは 3 つの長方形のブロック「ヘッダー」、「列前」、「データ」で構成されます)。各ブロックに交差や穴 (つまり、無効な html またはテーブル データの他のソースによって提供される) がないことを保証する必要があります (これに加えて、ブロックは互いに適合する必要があります)。現在(アイデアを得たばかりです)、位置(x、y)が占有されている2次元配列に保存しようとしています。最後に、すべての位置を一度だけ占有する必要があります。
java - TreeSetをArrayListに変換しますか?
10万を超えるオブジェクトを含むTreeSetがあります。paramとしてArrayListを必要とする別のメソッドがあります。
TreeSet全体を繰り返してから、各オブジェクトを手動でArrayListに追加せずに、これを実現する方法はありますか?
jakarta-ee - TreeSet に 3 つのオブジェクトをプッシュすると、オブジェクトを 1 つしか保持できないのはなぜですか?
一部のオブジェクトを TreeSet (BigHeap クラス内) にプッシュしたいのですが、問題が発生しました:
ここに私のメインクラスがあります:
そして、ここに私の BigHeap.java があります:
問題は、bigHeap が 3 回 (異なるオブジェクト) プッシュするのに、結局 1 つのオブジェクトしか保持しない理由です。
java - TreeSet 型 return のメソッド remove()
そこで、クラス TreeSet のメソッド remove() を見ていましたが、メソッドの戻り値の型は boolean です。Java API は、削除したいアイテムがツリー内にあり、削除された場合、メソッドが true を返すことを示しています。アイテムがツリーにない場合、または既に削除されている場合、このメソッドは例外を発生させますか? 要素が削除されていない場合に false を返すようにメソッドを変更できますか?