ケツから舐めるイテレーションを試したよ
忙しくなる⇛何もできなくなる⇛なぜか何かしたくなる
パーフェクトJavaは手元に持っておきたい本だ。
いつもは拡張for使ってList
JavaではListIteratorってのを使うらしい。
普通のイテレーターはケツから舐めるとかはできないらしい。
Javaでわからないことがあったら、パーフェクトJavaを開く、大概書いてる
しかもモダンだと思うし、信頼できる。今風。
紹介されているコードはイディオム化されてていますぐ使える、ッて感じでナイス!超実用的。
めんどいこと(?)というか大概イディオム化できることはイディオム化して、細かいことは頭から追い出すのが一番!ってパーJavaも言っていたぜぃ。例外とかも。
Hibernateの使い方とかもオレの中のイディオム!(プロジェクト内のイディオム!)を作っておきたいところ。
パーフェクトSpring+Hibernate+Strutsとか欲しい…確実売れる…。
イテレー使うコード
whileわかりやすいなーと思ったけど、、
//こんなの while(i.hasnext()){}
パーフェクトJavaではfor使ったやり方が紹介されていた。
従います!
import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class IteratorTesting { public static void main(String[] args) { // List作る List<Bean> list = new ArrayList<Bean>(); list.add(new Bean("takuan", "23")); list.add(new Bean("ariteku", "23")); list.add(new Bean("やる夫", "33")); // 末尾からイテレーション for (ListIterator<Bean> i = list.listIterator(list.size()); i.hasPrevious();) { Bean b = i.previous(); System.out.println(b.getName() + "は" + b.getAge() + "歳だよ^^)"); } // やる夫は33歳だよ^^) // aritekuは23歳だよ^^) // takuanは23歳だよ^^) } // よくあるJavaBeansってかPOJOってか。 static class Bean { private String name; private String age; public Bean(String name, String age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } } }
これでケツからイテレーションできる。
普通に展開するときは
List<Bean> list = dao.データください(全部);
for(Bean b : list) {
System.out.println(b.getName() + b.getAge());
}
的な感じでやっとる。シンタックスシュガー美味しいです^^)
ん?list.size()でforループでもおk
list.size(); で値取って、forで回してその値までlist.get(i); i++;とかでも全然OKだけどさー!
Iterator使ったほうが効率がいいんだっけ?
パソコンはmbaがいいなぁ…Mac教という訳ではないけど
MBA13はいいねぇ〜
サクっとコードが書ける!
SSDだからなのか、動作も軽い。
Eclipse、VMのCentOS6、MacVim、Chrome、Echofonつけっぱなし!
コード書こうか!って言う時のコスト低すぎ。
仕事でmba使えたらすごい生産性上がると思うけどにゃー
ミッションコントロールも活用出来る。仕様書見る用の画面、ER図開いているところ、詳細設計開いているところ、Eclipse開いているところ、EclipseのDBのプラグインを開いているところ、ファイラー開いているところ、って分けられて脳内コンテキストの切り替えもさっくさく!
いやー開発者がMac使いたい理由って、Macイケメンになりたい、Mac使うのがステータス、ってだけじゃなくて他にも理由有ると思うわー!OSがUNIX系だからcygwinなんて入れる必要ない、標準でコンソールが強力、とか。
嘘です、ただmac使ってイケイケ開発したいだけでした。まあいいさ!