- ベストアンサー
compareToにおける「自然順序付け」
mitonekoの回答
もう一息。 先の回答で、hitoクラスの例を挙げました。 ところで、もし、「hitoクラスの大小を比較しなさい。」とだけ言われたら、システムに正しい判断が出来ると思いますか? 無理です。身長順が正解で体重順が間違いなんて、システムに解るはずがありません。 これが、intや、stirngクラスなら、システムにも解ります。(文字列は、国際化がらみで少々面倒なところはありますけれどもね。) 基本的に、基本型以外では、システムは、正しい大小関係を自分で判断することは出来ません。 ところが、例えば、arrayクラスに定義されているsortメソッドでは、sort(object a[])のようにクラスだけを引数として取るメソッドが定義されています。 このオブジェクトの正しいソート順序はなんなのか?この場合に、システムはどうやって、オブジェクトの大小関係を判断しているのか? というテーマの問題です。 他にも、デフォルトの大小比較を要求するメソッドはいろいろあります。 このようなとき、デフォルトで使われる大小関係を自然順序づけと呼びます。 もちろん、この自然順序づけは勝手にどこかからわいてくるわけではありません。 クラスの自然順序づけを定義してみるなら、 public interface Comparable<T> を実装しているクラスにおいて、メソッドcompareToで定義されている順序を自然順序づけと呼ぶ。 となります。 compareToでどのような結果を出すかは、クラスを作成したプログラマの自由です。一貫性のある答えを出せば、どんな順序を定義しても大丈夫です。大きい順でも小さい順でも、はたまた、仕様書に書かれた摩訶不思議な順序定義表に基づくものでもかまいません。どんなに不自然に見える順序であっても、この関数に書かれた順序が自然順序です。 裏を返せば、Comparable<T>を実装していないクラスの大小関係は、大小関係を必要とするメソッドにおいて、コンパレーターを引数として渡してあげないと、判定できませんということです。
関連するQ&A
- 自然数は、なぜ「自然」?
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1218082532 を読んだのですが、 いまいち、理解できませんでした。 自然数という言葉の 「自然」…の意味を、あまり詮索してはいけないのでしょうか。 natural ... という英語の直訳?だとのことですが、 では、natural という言葉に含まれる意味はなんなのか…。 しろうとにも、「へえ」納得出来るようなご説明が、もしもあれば助かります。 よろしくお願いいたします。
- ベストアンサー
- 数学・算数
- 自然発火と自然着火の言葉の意味の違いを教えて下さい。
自然発火と自然着火の言葉の意味の違いを教えて下さい。 問題集で自然発火と回答したら、答えが自然着火でしたが、自然発火では駄目なのでしょうか。 ご存知の方、わかりやすく教えて下さい。
- ベストアンサー
- 化学
- 「ツケ」、「イザ」は何の意味でしょうか。
「政府無策のツケ露呈」:イザ!のニュース見出しについて、「ツケ」、「イザ」は何の意味でしょうか。漢字がありますか。宜しくお願い致します。
- 締切済み
- 日本語・現代文・国語
- 自然対数をとる?とは・・・
y=x^x 両辺の自然対数をとると logy=xlogx これはどういうことなのかさっぱりです。 ログについては、たとえばlog(小さい2)8 なら2を何乗かしたら8になります ってことは2を3乗すると8だから log(低?が2)8の答えは3だ! ということなどは分かるのですが、一番上の式の意味と自然対数をとるという意味が分かりません。 「自然対数」とか「常用対数」とか言葉はしっているのですが、内容がいまいち分からなくて・・・ お願いします!!!
- ベストアンサー
- 数学・算数
- 大自然の理(り)尊ぶ
大自然の理(り)尊ぶ とは、どういう意味なんでしょうか? 私の職場の活動理念?人として大事なことを記したものにある文章です。 『大自然の理尊ぶ〔一心 心根〕』 調べてみましたが、天地自然の理(ことわり)という言葉が出てきて、自然の法則に従うのが大事…とか書いてあったんですが、「自然の法則ってなに?」と、結局いまいちよくわかりませんでした。 あと、その後の〔一心 心根〕も、何が関係してるのかわかりません。 誰かわかりやすく教えてもらえないでしょうか? よろしくお願いします。
- 締切済み
- その他(学問・教育)
- ニュージーランドの自然について
ニュージーランドは自然が とっても美しい国ですよね。 そこで質問です。回答お願い致しますm(__)m (1) ニュージーランドの自然の美しい理由を教えてください! (2)ニュージーランドは、その大自然を観光業にしていますが、 その自然を守る工夫や法律などがあったら、 教えてください! どちらか一方だけでも分かる方は、よろしくお願い致します。
- ベストアンサー
- オセアニア
お礼
>>mitoneko様 返信が遅くなり申し訳ありませんでした。 ようやく「自然順序」についての意味を理解することが出来ました。 ありがとうございます。 参考書ももっと具体的に説明して欲しいものです…。