問題タブ [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.
java - クラスはいつComparableおよび/またはComparatorである必要がありますか?
ComparableとComparatorの両方を実装するクラスを見てきました。これは何を意味するのでしょうか?なぜ私は一方を他方の上に使用するのですか?
javascript - Javascript の sort() はどのように機能しますか?
次のコードは、この配列を数値順にソートする方法を教えてください。
計算の結果が...
0 未満: "a" は "b" よりも低いインデックスになるように並べ替えられます。
ゼロ: "a" と "b" は等しいと見なされ、並べ替えは実行されません。
0 より大きい: "b" は "a" よりも小さいインデックスになるように並べ替えられます。
並べ替えの過程で配列並べ替えのコールバック関数が何度も呼び出されていませんか?
もしそうなら、毎回関数に渡される 2 つの数値を知りたいです。最初に "25"(a) と "8"(b) が必要で、その後に "7"(a) と "41"(b) が続くと仮定したので、次のようになります。
25(a) - 8(b) = 17 (ゼロより大きいため、「b」を「a」よりも小さいインデックスになるように並べ替えます): 8, 25
7(a) - 41(b) = -34 (0 未満なので、"a" を "b" よりも小さいインデックスになるように並べ替える: 7, 41
2 組の数値は、相互にどのように並べ替えられますか?
困っている初心者を助けてください!
sql - SQLの「LIKE」と「=」の違いは何ですか?
次の間に違いはありますか:
と
java - Java SortedSet + Comparator、equals() との一貫性に関する質問
Collections の SortedSet (この場合は Set 自体ですが、必ずしも一般的ではありません) が必要です。これは Collection のサイズで並べ替えられます。これは、Comparator を equals() と一致させるという禁止事項に違反しているようです。つまり、2 つのコレクションは (異なる要素を持つことによって) 等しくなくても、同じ値と比較できます (同じ数の要素を持つため)。
概念的には、等しいサイズのセットを並べ替える方法を Comparator に入れることもできますが、並べ替えを使用してもそれを利用できず、同じサイズのコレクションを比較するための便利で直感的な方法は実際にはありません (少なくとも、私の特定のケースでは)、それは無駄のように思えます。
この矛盾のケースは問題のように見えますか?
java - Collections.sort() を使用してジェネリック List をソートするための Comparator オブジェクトを作成する
MyInterface を実装する任意のクラスのオブジェクトのリストに対して、一般的な並べ替えユーティリティ メソッドを実装しようとしています。Java API ( http://java.sun.com/javase/6/docs/api/java/util/Collections.html ) ごとに、Collections.sort() メソッドのシグネチャは次のとおりです。
ワイルドカード パラメーターを使用したリストが「プレーンな」パラメーター化されたリストを置き換えることができるかどうかはわかりませんが、次のことを試しました。
コンパイル時エラーが発生し、
だから、私はそれを次のように変更しました:
そして、コンパイルして動作します。良い説明はありますか?
c++ - カスタム クラスの STL プライオリティ キュー
プライオリティ キューがどのパラメーターでソートする必要があるかを認識させるのに苦労しています。カスタム クラスで less than 演算子をオーバーロードしましたが、使用していないようです。関連するコードは次のとおりです。
Node.h
Node.cpp
getTotalCost() は int を返します
main.cpp
私は何が欠けているか、間違っていますか?
java - Java: TreeSet と LinkedList の問題
ソートされていないリンクリストがあります。それを並べ替えるには、コンパレータを指定して値を TreeSet に入れ、それらの値を新しいリンク リストとして返します。それでも、失敗します。
コンパレータ:
ソート機能:
値をテストすると、すべてが挿入順に表示されます。
java - 就職面接のコード サンプルのコンパレータを作成するために必要なヘルプ
コンパレータを書くのに助けが必要です:-
私はこの出力が欲しい:-
しかし、私は次の出力を得ています:-
リストの順序をそのままに姓でソートするにはどうすればよいですか..つまり、女性を最初に姓でソートし、次に男性を姓でソートして出力したいということです...助けてください..
これは、性別コンパレーターを使用した後に使用しているコンパレーターです:-
java - Comparator を使用して null 値を比較するにはどうすればよいですか?
いくつかComparator
の s があります。1 つはDate
s、1 つは小数、もう 1 つはパーセンテージなどです。
最初は、10 進コンパレータは次のようになりました。
人生はシンプルでした。もちろん、これは文字列が解析できない場合を処理しません。だから私は改善しましたcompare()
:
人生はより良くなりました。テストはより堅実に感じました。null
しかし、私のコード レビュー担当者は、「 s はどうですか?」と指摘しました。
すばらしいので、上記を繰り返すNullPointerException
か、メソッド本体の先頭に次を追加する必要があります。
この方法は巨大です。最悪の部分は、異なるタイプの文字列を比較する他の 3 つのクラスでこのパターンを繰り返す必要があり、解析中に他の 3 つの例外が発生する可能性があることです。
私は Java の専門家ではありません。あえぎ-コピーして貼り付けるよりもクリーンできちんとした解決策はありますか? 文書化されている限り、複雑さの欠如と正確さを交換する必要がありますか?
更新:Comparator
値を処理するのは の仕事ではないことを示唆する人もいnull
ます。並べ替えの結果がユーザーに表示されるので、null を一貫して並べ替える必要があります。
java - Java、「コンパレータ」クラスを追加してコードの再利用性を高める方法
序文: 私は友人に代わってこれを投稿しています (どうやら自分で投稿するのは恥ずかしがり屋です)。関連する質問を閲覧しましたが、重複が見つからなかったようです.. Java ですので、これが重複している場合はあらかじめお詫び申し上げます。
これはコードの一部です:
私の友人は、コードの再利用性を最大化するために「addEsame」を実装したいと考えています。特に、新しいクラス (私が信じている比較クラス) を追加するだけで、リストの順序付け方法 (現在は名前順) を変更できるようにしたいと考えています。または、少なくともそれが C++ で行う方法です)。
ありがとうございました!