問題タブ [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 投票する
1 に答える
1768 参照

binary-tree - Javaバイナリツリー、ノードの実装方法は?

ツリークラスでは、アイテムの検索と追加を知っているので、2つのノードを比較すると思います。比較可能にする方法にいくつか問題があります。ツリーにデータ(汎用、その他)を追加すると、Treeクラスが呼び出され、新しいNodeオブジェクトが作成されます。Nodeクラスで変数data/elementを宣言して、タイプE(何でも)でありながら比較可能にするにはどうすればよいですか?真剣に、私は何も結論を出さずに前後に試しました。

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

java - Java Generics:compareToおよび "capture#1-of?"

次のエラーメッセージが表示されます。

エラーは次のとおりです。

何が起きてる?このリストComparableを呼び出して並べ替えることができるように、すべてのタイプを作成しました。.compareToジェネリックを誤って使用していますか?

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

java - Java:インターフェースとジェネリックに関する単純な問題

JGraphTで動作するインターフェイスを作成しました。私の使用目的は、オブジェクトを特定のデータ構造で使用できるようComparableにするという点で、のようなものです。Comparable同様に、私はJGraphT関数を持っており、それは何でも操作したいですDistanceable

これがJGraphtUtilitiesの私のJGraphT関数です。Animalのために定義されていませんが、 :のために定義されていDistanceableます

しかし、それは機能しません。コンパイラは、このメソッドを呼び出す別のクラスのこの行でエラーを生成します。

エラーは次のとおりです。

でも、

私はここで何が間違っているのですか?

別の問題:コンパイラはこの警告を出します:

この関数をすべてのDistanceableオブジェクトで機能させる場合、どのタイプを指定しますか?

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

java - Collections.binarySearch() がこれと同等に機能しないのはなぜですか?

Playerインターフェイスを実装するこのクラスがありComparableます。それから私はArrayListsPlayerのを持っています。binarySearch()のリストでを使用してPlayerを見つけようとしてPlayerいますが、Java から " cannot find symbol: method binarySearch(java.util.ArrayList< Player>,Player)" が返されます。

これは Player クラスです:

奇妙なことに、この同じリストで Collections.sort() を試してみると、うまくいきます。

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

java - Java: 整数 obj は Comparable にキャストできません

ドライバー クラスから整数オブジェクトを、作成した SortedArray ジェネリック クラスの関数の引数として渡そうとすると問題が発生します。ドライバー クラスから、ユーザーの int 入力を Integer オブジェクトに変換して、SortedArray クラスの Comparable にキャストします。

「スレッド "main" java.lang.ClassCastException の例外: java.lang.Integer を Comparable にキャストできません」というエラーが引き続き表示されます。私はクラスメートのソースコードのいくつかを見て、引数/パラメータの設定にほとんど違いがないことを発見しましたが、彼らのコードはうまく機能しています. 私は自分が犯したエラーを見つけようと何時間も探していましたが、Integer オブジェクトを Comparable にキャストできない理由をまだ見つけられません。

ここに私のSortedArrayクラスからのビットがあります

これは、Integer Object insertObj を SortedArray の挿入関数の引数として渡すドライバ クラスのコードです。

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

java - Arrays.sort が Comparable[] ではなく Object[] を取るのはなぜですか?

なぜ Arrays クラスの sort メソッドが Object[] 型のパラメーターを要求しているのか疑問に思っていました。パラメータが Comparable[] 型ではない理由。Comparable[] を渡さないと、ClassCastException が生成されます。

なぜ... public static void sort(Object[] a)であり、public static void sort(Comparable[] a)ではないのですか? ありがとう

0 投票する
19 に答える
122391 参照

java - Comparable と Comparator をいつ使用するか

フィールドで並べ替える必要があるオブジェクトのリストがあります。たとえば、スコアです。あまり考えずに、Comparator を実装する新しいクラスを作成しました。これはタスクを実行し、機能します。

これを振り返ってみると、Comparator を実装する新しいクラスを作成する代わりに、クラスに Comparable を実装させるべきかどうか疑問に思っています。スコアは、オブジェクトが並べられる唯一のフィールドです。

  1. 私がやったことは実践として受け入れられるでしょうか?

  2. 「最初にクラスに Comparable を実装させ (自然な順序付けのために)、別のフィールド比較が必要な場合は、Comparator を実装する新しいクラスを作成する」という正しいアプローチはありますか?

  3. 上記の(2)が当てはまる場合、クラスに Comparable を実装させた後にのみ Comparator を実装する必要があるということですか? (私が元のクラスを所有していると仮定します)。

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

java - Java ComparableInterfacecompareToメソッド

間違っていることは何も表示されませんが、NetBeansで次のエラーが発生します。

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

java - Comparable で compareTo を実装する場合、特定の符号付き整数は問題になりますかクラス?

compareTo() を実装する場合、「差異」の程度を考慮する必要がありますか?

たとえば、C1、C2、C3 の 3 つのオブジェクトがあり、C1 < C2 < C3 となります。

C1.compareTo(C2) は C2.compareTo(C3) より小さい整数を返す必要がありますか?

Comparable インターフェースのドキュメントは何らかの方法を指定していないようですので、程度は問題ではないと推測していますが、特定の数値を返す利点があるかどうかを知っておくとよいでしょう (たとえば、 TreeSet ソート速度または何か)。

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Comparable.html#compareTo(T)

0 投票する
11 に答える
52136 参照

java - 2 つの汎用数値の値の比較

両方のタイプの変数と比較したいT extends Number。ここで、2 つの変数のどちらが他方よりも大きいか等しいかを知りたいと思います。残念ながら、正確な型はまだわかりません。 のサブタイプになることだけはわかっていますjava.lang.Number。どうやってやるの?

編集: TreeSets を使用して別の回避策を試しましたが、実際には自然順序付けで機能しました (もちろん、AtomicInteger と AtomicLong を除くNumber実装のすべてのサブクラスで機能します)。Comparableしたがって、重複する値が失われます。Listsを使用する場合Collection.sort()、バインドされた不一致によりリストが受け入れられません。非常に不満です。