プログラマメモ2 - programmer no memo2

文字数が多いもの順に並ばせる Comparatorを使って - java 2014/02/22
2014/02/24

文字数が多いもの順に並ばせる Comparatorを使ってソートします。

2014/02/24 追記 同じ文字数の場合の判定してなかった.....

package collections; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; public class TestSort { public static void main(String[] args) { Comparator<String> c = new Comparator<String>() { @Override public int compare(String o1, String o2) { int len1 = o1.length(); int len2 = o2.length(); if (len1 == len2){      return o1.compareTo(o2); } return (len1 > len2) ? -1:1; } }; String[] ss = {"いい", "いいい","い","あ", "ああ", "あああ"}; List<String> list = Arrays.asList(ss); Collections.sort(list, c); // 結果 // [いいい, あああ, いい, ああ, い, あ] System.out.println(list); } }


白状しますと、昇順と降順の意味をおぼえていません。 2013/01/18

はい、白状しますと、昇順と降順の意味をおぼえていません。
じゃ、どうやってSQLのソート順を決定するのさ、といわれますと、SQLを書いて実行した結果で、決めています。と、いうとどん引きされそうですね。。。

お仕事では、ディスプレイの横に、意味とデータを書いて貼ったりして、当座をしのいでたりします。

同じ悩みの人いないかなーと思い検索しますと、いました。

昇順と降順が覚えられません。何か良い覚え方はありますか? - Yahoo!知恵袋

僕の意見では、これは記憶力というよりも、イメージと言葉が、その人の世界を認知する方法にそぐわないからだろうと思います。

上記のリンクの回答では、階段をイメージさせています。いい方法だと思います。

昇る(1,2,3...)
降りる(3,2,1...)

ただ、これを想起する方法を失敗すると、僕のように永遠におぼえきれない、もしくは思い出すのに時間がかかることでしょう。

ここんとこ、自分の仕事が遅くて時間がかかる理由を探っています。
 またひとつ理由がわかった気がします。


で、きっと僕は、毎回、ソートされるデータのイメージを自分自身で納得するためにSQLを書いて実行するでしょう。