2013年 3月

Lambda の罠 解決編

Java

ちょっと前に Lambda の罠 というエントリーを書いた。

まぁ、結果は当然の結果である。

そこでこの問題を簡単に回避する方法を考えてみた。

おそらく前のエントリーをご覧の Java プログラマーさん達はすでにご存じかと思いますがブログねたということで(^_^;

LinkedHashMap<K,V>

これを使えばいいみたいですね。

間違ってたら優しくご指摘くださいませ。

ということで修正コードは次のようになります。

jp\yucchi\mylambda_2\MyLambda_2.java

実行結果は期待通りの結果となります。

run:
true
true
true
BUILD SUCCESSFUL (total time: 17 seconds)

それでは夜勤真っ只中なのでそろそろ寝ようかな。

まだたくさん試してみたいことがあるよう!!

それでは (*’-‘)ノ~

Hatena タグ:

NetBeans 8 Dev を使って Lambda で遊ぶ その7

Java NetBeans

今日は substream() メソッドを使ってみます。

これを使って MyLambdaSample プロジェクトの MyLambdaSample.java に MyBestMember を FightingPower 詳細昇順ソート 最初から3人までスキップさせます。

使い方は簡単で substream() メソッドの引数にスキップさせたい要素数を渡せばいいだけです。

コードは下記のようになります。

jp\yucchi\mylambdasample\MyLambdaSample.java

とても便利ですね!

実行結果も確認しておきましょう。

<– MyBeatMember を FightingPower 詳細昇順ソート 最初から3人までスキップする –>
北川 景子, 26歳, Gender : FEMALE, Breast Size : 78, FightingPower : 80
綾瀬 はるか, 28歳, Gender : FEMALE, Breast Size : 88, FightingPower : 85
佐々木 希, 25歳, Gender : FEMALE, Breast Size : 80, FightingPower : 85
石原 さとみ, 26歳, Gender : FEMALE, Breast Size : 82, FightingPower : 89

Java 8 の Lambda とても素敵です。(^_^)

Hatena タグ: ,

NetBeans 8 Dev を使って Lambda で遊ぶ その6

Java NetBeans

今回は limit() メソッドを使ってみます。

MyLambdaSample プロジェクトの MyLambdaSample.java に MyBeatMember を FightingPower 詳細昇順ソート 最初から3人まで とういう機能を実装します。

limit() メソッドを使うと簡単にできてしまいます。( 203 行目 )

jp\yucchi\mylambdasample\MyLambdaSample.java

limit() メソッドの引数に制限数を渡すだけですね。

今回は3人ということなので 3 を渡しています。

実行結果は次のように期待通りの結果となりました。

<– MyBeatMember を FightingPower 詳細昇順ソート 最初から3人まで –>
武井 咲, 19歳, Gender : FEMALE, Breast Size : 76, FightingPower : 66
剛力 彩芽, 20歳, Gender : FEMALE, Breast Size : 77, FightingPower : 75
堀北 真希, 24歳, Gender : FEMALE, Breast Size : 78, FightingPower : 76

便利に使えそうですね。(^_^)

Hatena タグ: ,

ASUS ET2220 を購入

Computer

ノートパソコンが古くなって使いづらくなってきたので intel NUC でも組んでみようかと思ったが結構お金が掛かりそうだったのでやめた。

今日、量販家電店でたまたま ASUS ET2220 という液晶一体型PCをみた。

価格は7万円ほどで Microsoft の Office personal 2013 までついていた。

私はそんなもの使ったことないし、おそらくこれからも必要ないからいらないだろう。

そういえばノートPCにもついていたけどインストールせず、未開封のまま残っている。

これらはライセンス上売り払うことはできないので Microsoft が買い戻してくれると嬉しい。

ちなみに OS は無印の Windows 8 です。

Windows 8 pro のライセンスが二つ余ってるのでこれも買い戻してほしいな・・・

ゲイツくん、おねがい!

ということでセットアップなんだけど面倒だ。

とりあえずネットに接続できるようにしたけど 54Mbps の速度だった。

USB 無線子機で 450Mbps の製品がでてるからストレス感じるようだったら検討しよう。

HDD やメモリーも交換可能かばらしてみようと思ったがマニュアルには何も書いてなかった。

まるで改造お断りと言わんばかりに!

これも何かあるまで手を出さないでおくことにしよう。

タッチパネルだけどやはりデスクトップでは使いづらい(>_<)

キーボードとマウスはワイヤレスで小型のものが付属していた。

これといって特徴はないがマウスは女性向けなのか小さい。

タッチパネルで Windows 8 と Officr personal 2013 ワイヤレスキーボードとマウスが付いて7万円は妥当な価格だろう。

そうそう、量販家電店のポイントが1万円分たまっていたのでそれを内緒で使って6万円でゲットしました。

intel NUC ではこの価格は不可能だろうからよしとしよう。

ASUS ってエイサスって言うのかと思ったら店員さんはエーエスユーエスってまんま言ってた。

カタカナ読みで正しい言い方は何だろう?


NetBeans 8 Dev を使って Lambda で遊ぶ その5

Java NetBeans

今日も Java 8 に備えて良く解らないけど未来のコードと戯れたいと思います。

今回は、Functional Interface と Virtual Extension Methods を試してみたいと思います。

ただ、@FunctionalInterface の使い方がこれであっているのか?解りません(>_<。)

@FunctionalInterface を消しても同じようにコンパイル、実行できてしまうんですよね~

@Override なんかと同じでただの注釈なのかなぁ・・・

メリットが良く解らんぜよw

Virtual Extension Methods は以前にも試したんだけど default キーワードのつく位置が変わったの(決められた)のかな。

さて、それでは試してみます。

jp\yucchi\myfunctionalinterface\MyFunctionalInterface.java

実行結果は次のとおりです。

run:
hoge
foo
bar
BUILD SUCCESSFUL (total time: 0 seconds)

実行結果からみて Functional Interface の動作は定義されているとおりに問題なく動いているようです。

Functional Interface の定義については長くなりますのでググってみてください。

日本語で詳しく説明されているサイトが見つかるはずです。

今回のプログラムでは

Object クラスのこの二つのメソッドがあっても問題ないこと、

この Virtual Extension Methods の default 実装があっても Functional Interface の機能を問題なく実行できることを証明しました。

ちゃんとラムダ式で動いてます。(^_^)

実行結果からちゃんと二つの Virtual Extension Methods も動いているのが解ります。

Java 8 の正式リリースが楽しみですね(*^▽^*)

Hatena タグ: ,

« 古い記事