問題タブ [comparator]

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 投票する
4 に答える
21216 参照

java - コンパレーターを使用して float メンバー変数を比較するのに役立ちます

文字列をうまく比較できますが、浮動小数点数をランク付けする方法を知りたいですか?

getChange() は文字列を返します。降順でソートできるようにしたいです。これどうやってするの?

アップデート:

コンパイル時エラーが発生します:

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

java - 文字列であるパー​​センテージを比較する方法は?

私は文字列を持っている"+1.29%"か、"-1.29%"

値を比較できるように、これを float または double に変換するにはどうすればよいですか?

これは私のコンパレータクラスがどのように見えるかです:

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

java - ArrayList の並べ替えが正しく機能しない

ArrayList をソートしようとしていますが、ソートされていると思われる配列の最初の項目をチェックすると、正しくありません。なぜかわからないのですが?何か不足していますか?

これが私のコンパレータです:

実際の並べ替えを実行する方法は次のとおりです。

ここに私のテストデータがあります

ソート後、次のようになりたい:

ただし、ソート後に最初のアイテムを引き出すと、次のようになります。"Yahoo"

0 投票する
4 に答える
1713 参照

java - Java:非静的コンパレータからその外部クラスフィールドへの参照

オブジェクトのリストを、その外部オブジェクトフィールドの値を使用する非静的コンパレータで並べ替える必要があります。

しかし、何らかの理由でこれは正しく機能しません。コンパレータのprintln行のコメントを外すと、参照がAオブジェクトへの参照であることが示されますが、1回のsort()呼び出し内で異なるため、「x」の値が異なります。私はここで何が間違っているのですか?

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

java - 単純なカスタム ロジックの Java コンパレータ

以下の例の 4、1、6 行目を見つけるにはどうすればよいですか?
この場合、 Comparator で Collection.sort() を使用することは合理的ですか?

上の例は、オブジェクトが次の基準を満たすリストです:
- すべてのオブジェクトには 4 つの整数 (a、b、c、d) が含まれます。 -
リスト内のすべてのオブジェクトは一意です。
- a < b および c < d。


以下は実際の例ではありませんが、私の考え方では、期待されるオブジェクトを見つけるためにコンパレーターがどのように機能するかを期待できます。

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

java - 静的フィールドとしてのコンパレータ-インターフェースまたは実装?

私はすでに「自然な」順序を持っているクラスを持っており、同様に使用できる別のコンパレータを定義したいと考えています。String.CASE_INSENSITIVE_ORDERつまり、必要なときに参照されるインスタンス化された静的フィールドとして定義します。

実際の比較タイプであるインターフェースFoo(そうなるでしょうComparator<Foo>)では、FooImplではなくそこに配置することに賛成です(この特定のケースでは、違いが生じる場合は1つの実装のみ)。Fooはインターフェイスであるため、もちろんクラスがパブリックである必要があることを除いて、Stringクラスと同様の内部クラスを使用して実装されます。

FooではなくFooImplに入れる方がよいかどうか疑問に思います。もしそうなら、なぜですか?また、実装クラスの公開の可視性については気にしませんが、代わりにスタンドアロンの個別のパッケージの可視エンティティである必要がありますか?

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

c++ - std::set コンパレータを初期化するにはどうすればよいですか?

std::set に基づく新しいデータ型 TType のコンパレータを、別のクラス Object のオブジェクト o で初期化する必要があります。

この宣言は、クラスの外側 (ヘッダー ファイル内) にあります。宣言の時点では、このオブジェクトは存在している必要はありません。後で作成されます。

宣言が何らかのメソッド内にある場合 (オブジェクトが既に作成されている場合)、状況は非常に単純になります...どうすればよいですか?

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

java - これは、コンパレータを使用してタイトル、位置、および順序で並べ替える正しい方法ですか?

このクラスを検討してください。

タイトル、位置、順序で並べ替えたい場合、compareTo メソッドは正しいですか?

0 投票する
1 に答える
3704 参照

java - Java Comparator で 2 つの TreeNode (または DefaultMutableTreeNode) オブジェクトを比較する

今日の私の目標は非常に単純です。DefaultMutableTreeNode を拡張するクラスに compareTo (または Comparable) インターフェイスを実装する適切な方法を見つけようとしています。

問題は次のとおりです。時間を表す完全に優れたクラスがあるとします。Arrays.sort() でテストした完全に優れた compareTo メソッド (希望どおりに動作する) を既に作成しており、すばらしい結果が得られています。

ここで、次のように、さまざまなオブジェクトの束を持つ JTree があるとします。

だから、プロのプログラマーとして、何も考えずにすぐにコーディングを開始します。ここに私の SpecialNode クラスがあります:

わかりましたので、もしあなたがコメントを読まなかったなら (それは認めますが、あなたは読んでいませんでした); 私の問題は、SpecialNode の compareTo メソッド内で、userObject にしかアクセスできないことです。悲しいことに、私は userObject が何だったのかわかりません。そのため、適切にキャストして正しい compareTo メソッドを呼び出すことができません!

ツリーに追加されるすべてのクラスで、いくつかの完全に優れたcompareToメソッドをすでに作成しているため、これは本当に面倒です。それで、誰かが男を助けて、私にヒントをドロップできますか?

tl;dr - DefaultMutableTreeNode が格納する汎用オブジェクトから型情報を取得するにはどうすればよいですか? それが不可能な場合、SpecialNode の 2 つのインスタンスが何を含んでいるのかさえわからないのに、それらを比較するにはどうすればよいでしょうか!

前もって感謝します。

0 投票する
5 に答える
21613 参照

java - Set と Comparator から List を取得する方法

Listaから aを取得Setし、指定された に対してソートするための「良い」(そしてその理由は?) ソリューションは何Comparatorですか?