問題タブ [compareto]

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

java - PriorityQueue remove の予期しない動作: compareTo が使用されないのはなぜですか?

プライオリティ キューを使用しようとしていますが、remove() が機能しません: 私のコード:

そしてクラスの実装:

追加された「1」を削除しているため、出力の最終出力は2になるはずです。compareTo() は優先キュー remove() で使用する必要がありますが、そうではないようです。私が間違っていることは何ですか?pq.remove(a) が機能することはわかっていますが、私のコードも機能するはずです

0 投票する
6 に答える
3855 参照

java - Java - compareTo と演算子

Personを実装するクラスがある場合(たとえば、Comparableと比較personA.heightして)、使用することは可能ですか?personB.height

代わりに

これを行う際に問題はありますか、それとも演算子をオーバーロードする必要がありますか?

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

java - Comparable インターフェイスを使用する場合、compareTo() メソッドはデフォルトのメソッドをオーバーライドしません

Java のデフォルトの compareTo() メソッドを独自に作成し、同等の実装を使用して上書きしようとしていますが、Java はまだデフォルトのメソッドを使用しているようです。

.dat ファイルから取得した長さで文字列の配列を並べ替えようとしていますが、代わりにアルファベット順に並べ替えを続けています。なぜこれがうまくいかないのか理解できないので、誰かが私が間違っていることを教えてくれれば幸いです。

ありがとう

main メソッドを含むクラスは次のとおりです。

0 投票する
8 に答える
156141 参照

java - プリミティブを使用した比較 -> 整数/整数

書いたほうがいいですか?

また

2 番目の方が優れていると思います。より高速で、よりメモリを最適化する必要があります。でも平等じゃない?

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

.net - ジェネリック クラスの Icomparable インターフェイスの実装

ジェネリック クラスのIComparableインターフェイス メソッドを実装する方法がわかりません。CompareTo

にバインドするBindingProperty<T>を作成するために使用されるというクラスがあります。問題は、このクラスによってインターフェイスが実装されていないため、Sort 操作を実行できないことです。比較の結果は、'Value' が T 型であるクラスのデータ メンバー 'Value' に依存します。DataGrid の列ヘッダーをクリックすると、メソッドが実装されていないという例外が発生します。List<BindingProperty<intOrString>>DataGridIComparableBindingProperty<T>BindingProperty<T>CompareTo()

このインターフェースを実装するには助けが必要です。を使用する必要がありIComparable<T>ますか? はいの場合、どうすればよいですか?

よろしくお願いします

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

c# - CompareTo を使用した DateTime の比較

ユーザー同士で予約できる予約システムを作っています。私がしなければならないことは、会議が時間的に衝突しないようにすることです.

例: ミーティング 1 は 13:00 から 14:00 までです。ミーティング 2 は 13:30 から 14:30 までです。

これらの会議は競合するため、予約を行うべきではありません。

これを実行しようとすると、望ましい結果が得られません。実際に予約する必要があるときに予約を行うべきではないと判断することもあれば、その逆もあり得ます。

これが私のコードです:

主な問題は((Clash1 > 0) || (Clash2 < 0))if ステートメントにあるようです。最初に if ステートメントを true に設定する必要がある場合 (そうあるべきです)、その後、この if ステートメントを false に設定します。

これらのチェックを適切に実行して、時間が衝突しないようにするにはどうすればよいですか?

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

java - 抽象compareToメソッドはオーバーライドされません

以下のコードをコンパイルすると、次のエラーが発生します。

PersonalInformationは抽象的ではなく、Comparableの抽象メソッドcompareTo(Object)をオーバーライドしません

私はそれが私のcompareTo方法に問題があることを意味すると思います。しかし、すべてが大丈夫のようです。誰か提案がありますか?

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

java - compareTo メソッドがコンパイルされない

私のクラスヘッダー:

私のcompareToメソッド:

しかし、Eclipseは私にエラーを与えます:

タイプ GraphEdge のメソッド compareTo(GraphEdge) は、スーパークラス メソッドをオーバーライドする必要があります

どうして?Comparable をやってみました

しかし、これも失敗しました。

0 投票する
6 に答える
202 参照

java - Java:日付を文字列として比較しても大丈夫ですか

外部サービスから、Date+TimeフィールドがStringの形式のオブジェクト2012-03-07 12:12:23.547を取得します。これらのフィールドを比較して、オブジェクトの正しい順序を取得する必要があります。DateSimpleDateFormat( "yyyy-MM-dd HH:mm:ss.SSS")などを使用してオブジェクトを作成し、2つを比較してこれを実現できることはよく知っていますDateが、私の質問は、正しい並べ替え順序に依存できるかどうかです。それらをString.compareTo(String)?などの文字列として比較すると、いくつかの軽いテストはそれがうまくいくという印象を私に与えます、しかし私は誰かがそれが私に正しい結果を与えないであろうシナリオを知っているかどうか疑問に思いますか?Stringまた、比較する日付への解析との比較について、パフォーマンスに関する考慮事項、長所または短所はありますか?

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

java - equals、hashCode、compareToの整合性を自動チェックするテクニックは?

私は、それhashCodeが と一致しequals、それequalsが と一致していることを確認する契約上の必要性を十分に認識していcompareToます。ただし、これは実際にはしばしば違反されます。この一貫性を自動的にテストできるツール、手法、またはライブラリはありますか?

残念ながら、答えは「いいえ」だと思いますが、手動でカスタムテストを書く必要がなく、ライブラリ呼び出しやフレームワークを利用できるこの種の単体テストを作成できると便利です。それが重要な場合ごとに。

一貫性の意味が明確でない場合は、以下hashCodeequals参照してください。

equals(Object) メソッドに従って 2 つのオブジェクトが等しい場合、2 つのオブジェクトのそれぞれで hashCode メソッドを呼び出すと、同じ整数結果が生成される必要があります。

equalsおよび私は以下compareToを参照します。

クラス C の自然順序付けは、e1.compareTo(e2) == 0 がクラス C のすべての e1 および e2 に対して e1.equals(e2) と同じブール値を持つ場合にのみ、equals と一致すると言われます。