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

java - String equals() が false を返すのはなぜですか (カスタム Comparator が関与)?

TreeSet で文字列を長さでソートするために、TreeSet で使用する非常に単純なカスタム Comparator を作成しました。

(s1.equals(s2))2 つの文字列 s1 と s2 に同じ値が含まれている場合でも、 false を返す理由を見つけるのに苦労しています。

Eclipseの「変数ビュー」は、文字が両方の文字列で同じであることを示していますが、「id」は異なります.equalsがFalseを返すのはそのためだと思います. ところで、それは何をid=" "表しているのですか?String オブジェクト データへのポインタのようなものでしょうか。

ここで、このカスタム Comparator を使用します。

substring()メソッドで構築されたいくつかの文字列で組み合わせを埋めます。

前述の問題により、組み合わせには重複が含まれます。

この TreeSet にカスタム Comparator を設定しないと、重複はもうありません (それが私が望むことです) が、アルファベット順に並べ替えられますが、これは正常ですが、私の目的ではありません。

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

java - 最小限のコード、短い式

次のパラメータが与えられます。

このバージョンの最小限のコードが必要です。

何を変更する必要がありますか?

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

mips - MIPS レジスタ コンパレータ

MIPS で 2 つの入力レジスタが与えられた場合: $t0、$t1

ブランチを使用せずに、どちらが大きいかをどのように判断しますか?

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

java - 警告なしのジェネリック インターフェイスのコンパレータ

与えられた:

この組み合わせは機能しますが、生の型に関する警告が表示されます。型引数を追加するさまざまな方法を試しましたが、試したすべての組み合わせでコードが壊れます。

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

c++ - STL セットにコンパレータを使用する

次のコードを確認してください。

出力は次のとおりです。

これは私にとって衝撃的です。出力は次のようになると思いました(そして期待しています):

の実行前はleagues.insert("ALeague");、 と がleagues含まれ"aLeague"てい"BLeague"ます。私の質問は、実行中にleagues.insert("ALeague");なぜマシンが処理するの"ALeague" == "aleague"ですか? 私の理解によると、 には要素がありませ"ALeague"leagues。に挿入"ALeague"する必要がありますleagues。コンパレータは、どこに配置するかを決定する必要があり"ALeague"ます。

前もって感謝します。

PS: C スタイルのキャストを使用しているからといって、私を殴らないでください。:P 私は入力するのが面倒ですstatic_cast

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

java - Java:比較可能vsコンパレータ

重複の可能性:
compare()とcompareTo()
の違いJava:ComparableとComparatorの実装の違いは何ですか?

ComparableとComparatorの主な違いは何ですか。

どのシナリオでどちらが他よりも優先されますか?

ありがとう

更新-例との良いリンク!!

http://www.digizol.com/2008/07/java-sorting-comparator-vs-comparable.html

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

java - 2 つのコンパレータを使用する最良の方法は何ですか?

私は現在、ある間隔でOHLCデータを取得するために使用される次の構造を持っています

marketDataItem または marketDataGroup にコンパレータを配置する方が良い/良い/速い/少ないメモリですか?

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

java - Java Point オブジェクトの ArrayList をソートする方法

Point クラスを使用して (x,y) 座標のリストを管理しており、X の順に並べ替える必要があります。

Comparator を実装する新しいクラス PointCompare を作成するためにオンラインで読みましたが、これがどのように機能するかがわからないため、sortByXCoordinates メソッドでコンパイラ エラーが発生します。

助けていただければ幸いです。コメントは大歓迎です。事前に感謝します。これが私のコードの一部です:

0 投票する
10 に答える
96845 参照

java - ダブルタイプのコンパレータ

私は次のコードを書きました:

2 つの倍精度数が3.2 - 3.1あるとします。 の差は です0.1。ただし、数値を int にキャストすると、違いは になり0ます。これは正しくありません。

したがってcompare()、int ではなく double を返す必要があります。問題は、私のgetXフィールドが倍精度であることです。どうすればこの問題を解決できますか?

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

java - コンパレータとequals()

TreeSetドメインロジックでソートされた要素が必要だとします。このロジックでは、等しくない要素の順序は関係ないため、compareメソッドは0を返すことができますが、この場合、それらをに入れることはできませんでしたTreeSet

だから、質問:私がこのようなコードからどのような不利な点があるか:

更新

Ok。@SPFloyd-seanizerや他の人が言ったように、それが常にメソッドとの間の一貫性である必要がある場合equals()。インターフェイスを削除してこのロジックを移動すると、より良い、またはさらに良いと思いますか(カプセル化を壊さずに実行できます)?したがって、次のようになります。hashcode()compareTo()ComparableComparator

アップデート2

安定ソートが必要ない場合System.identityHashCode(x)よりも良いでしょうか?hashCode()