問題タブ [comparable]

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

java - 複数のキーを使用した Java オブジェクトのソート

Duck オブジェクトのコレクションがあり、複数のキーを使用して並べ替えたいと考えています。

例えば。主に体重で並べ替え、次に年齢で並べ替えたいと思います。2 羽のアヒルの体重と年齢がまったく同じ場合は、名前を 3 次キーとして区別してみましょう。私はこのようなことをするかもしれません:

私はこれをかなり頻繁に行っていますが、このソリューションは適切な匂いがしません。うまくスケーリングできず、台無しになりやすいです。確かに、複数のキーを使用してアヒルを並べ替えるより良い方法があるに違いありません! より良い解決策を知っている人はいますか?

EDITは不要なelse枝を削除しました

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

java - 抽象クラスと具象サブクラスからの比較可能なインターフェースの実装

CIRCLEクラス

長方形クラス

だから私はこの別々のクラスをやろうとしました、そして継続的にこのエラーを受け取ります。

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

java - BigIntegerを使用して級数を計算する

私はこれに数時間取り組んできました、そして私は絶対に壁にぶつかりました。目標は、BigIntegerを使用して一連の分数を合計することです。何らかの理由で、r2の分子と分母は、1/2であると想定される場合、等しくなります。分母が0であってはならないため、最終結果も正しくありません。何が欠けているのか、何が間違っているのでしょうか。

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

php - PHPでPythonリッチ比較を行うことは可能ですか?

__eq__私の夢の 1 つは、 php オブジェクトでpython リッチ比較 (のようなもの) を使用することです。

たとえば、データベースIDでモデル(オブジェクト)を高速比較するためのスマートなメカニズムが必要です。

PHPで何らかの方法で可能ですか?

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

ruby - Ruby - Comparable mixin を使用して 2 つの異なる属性のオブジェクトを比較する

2つの異なる属性に基づいてRubyで比較を定義する簡単な方法(つまり、宇宙船演算子を使用)はありますか? つまり、attr1 と attr2 の 2 つの属性を含むクラスがある場合、attr1 でこのクラスの 2 つのインスタンスを比較し、それらが等しい場合は attr2 でそれらを比較する Rubyesque の方法はありますか?

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

java - Comparables と Wilcard ジェネリック

次のクラスがあるとします (デモンストレーション用)。

コンパイラが教えてくれる

「型のメソッドcompareTo(capture#1-of ?)Comparable<capture#1-of ?>は引数( )には適用できませんComparable<capture#2-of ?>

Comparables列車に違いを入れたいという事実にどのように対処できますか? 確かに、パラメーターを削除して生の型を使用することもできますが、それは少し問題があるように思えます。

編集:おそらく、私が与えた例は少し鈍いです。私が理解しようとしているのは、ジェネリックを常に使用する必要があるかどうかですComparables。たとえば、比較したいオブジェクトのクラスが実行時までわからない場合:

2 つのキャスト操作が同じクラスであることが保証されていない (? のキャプチャ #1 と ? のキャプチャ #2) ため、次のように置き換えComparableた場合、コンパイラは (上記のように) 文句を言います。Comparable<?>一方、Comparable<Object>どちらにも置き換えることはできません。なぜなら、呼び出しがmain()メソッドのシグネチャと一致しないためです (つまり、Integer実装Comparable<Integer>ではなく) Comparable<Object>。生の型を使用することは確かに「機能します」が、これは正しいアプローチですか?

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

data-structures - プリミティブ型と文字列で散発的に機能する順序付き挿入

課題として、LinkedList の順序付きバージョンと順序なしバージョンの両方を Java のバッグとして実装するように依頼されました。順序付けされたバージョンは、挿入メソッドをオーバーライドしながら、順序付けられていない実装を単純に拡張します。

挿入機能の順序付けは機能します...多少。与えられたテスト配列

出力は

いつあるべきか

ただし、要素の値が混同されていない場合、順序付けは正常に機能します。たとえば、私は最初testArray[]にアルファベットを逆にして上記を使用しましたが、順序は正しいはずです。

私の追加機能は

イテレータ機能は次のように実装されます。

現在のところ、使用されているのはプリミティブ型だけです。オブジェクトの場合、特定の同等のクラスを作成する必要があることはわかっていますが、この場合、String には正しい順序付けを行う compareTo() メソッドが含まれています。

偶然にも、私の同級生が同様の実装を行っており、同じ結果を返しています。

自然順序付けを使用して、この問題を解決するにはどうすればよいですか?

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

java - 同等のものを実装するインターフェースの定義

私は、すべての実装クラスがそれ自体とそのサブクラスと比較可能でなければならないようにインターフェースを定義しようとしています。

たとえば、次のことを考慮してください。

これは、クラスの実装がすべての評価と比較可能でなければならないことを意味します。

次のようなクラスを定義できるように、その要件を緩和したいと思います。

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

java - 比較対象を格納する汎用 Java クラス

私は、同等のものを格納する汎用Javaクラスを持っています:

Person という抽象クラスもあります。

および 2 つの具象サブクラス、Professor と Student:

このように MyGenericStorage を作成しようとすると、エラーが発生します。

これは、ジェネリックの理解に根本的な問題があるためだと思います。誰かが私にこれを説明できますか、また、それを修正する方法はありますか?

編集:

MyGenericStorage を次のように変更しました。

そして今、それはうまくいくようです。誰かが理由を説明できますか?