Comparator を使ったプログラムをつくった。
そして、思った。
いつもながら・・・ だな。( ̄。 ̄;)
| jp\yucchi\lambda_charenge_1\Bust.java |
package jp.yucchi.lambda_charenge_1;
class Bust {
private int bustSize;
private String evaluation;
public Bust(int bustSize, String type) {
this.bustSize = bustSize;
this.evaluation = type;
}
public int getBustSize() {
return bustSize;
}
public String getEvaluation() {
return evaluation;
}
}
| jp\yucchi\lambda_charenge_1\Lambda_charenge_1.java |
package jp.yucchi.lambda_charenge_1;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
public class Lambda_charenge_1 {
public static void main(String[] args) {
ArrayList al = new ArrayList();
al.add(new Bust(90, "巨乳"));
al.add(new Bust(70, "貧乳"));
al.add(new Bust(100, "爆乳"));
al.add(new Bust(80, "普通乳"));
Collections.sort(al, new Comparator() {
@Override
public int compare(Bust o1, Bust o2) {
return (o1.getBustSize() < o2.getBustSize() ? -1 : o1.getBustSize() == o2.getBustSize() ? 0 : 1);
}
});
Iterator it = al.iterator();
while (it.hasNext()) {
Bust data = it.next();
System.out.println(data.getBustSize() + ": " + data.getEvaluation());
}
}
}
実行結果は次のようになります。
run:
70: 貧乳
80: 普通乳
90: 巨乳
100: 爆乳
構築成功 (合計時間: 0 秒)
ここで、さらに思った。
Java 8 で採用される Lambda を使えば Comparator の部分がすっきりするんだろうか?
さらに思った。
ところで、Lambda って何?
よくよく考えたら Lambda の前にやろうとしていたクロージャとかいうものもさっぱり知らない。
そろそろ Lambda について調べ始めなければ JDK 8 がリリースされたとしても時代の波に乗れない。
ここで、さらに思った。
Lambda も無かったことにならないかなぁ・・・(後ろ向き・・・
で、このプログラムを Lambda を使ってすっきりさせることができるのか?
私には絶対無理(>_<)
いったい、何をどうすればいいのか解らない。
当然といえば当然だ。
Lambda を知らないからね。
ただ、本当にこのプログラムを Lambda を使えばすっきりしたコードに変更可能なのかが知りたい。
誰か教えてけろ。(いつもながら努力は嫌い (^_^;)