読者です 読者をやめる 読者になる 読者になる

log

日記です

ケツから舐めるイテレーションを試したよ

Java

忙しくなる⇛何もできなくなる⇛なぜか何かしたくなる
パーフェクト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だからなのか、動作も軽い。
EclipseVMのCentOS6、MacVim、Chrome、Echofonつけっぱなし!
コード書こうか!って言う時のコスト低すぎ。
仕事でmba使えたらすごい生産性上がると思うけどにゃー
ミッションコントロールも活用出来る。仕様書見る用の画面、ER図開いているところ、詳細設計開いているところ、Eclipse開いているところ、EclipseのDBのプラグインを開いているところ、ファイラー開いているところ、って分けられて脳内コンテキストの切り替えもさっくさく!
いやー開発者がMac使いたい理由って、Macイケメンになりたい、Mac使うのがステータス、ってだけじゃなくて他にも理由有ると思うわー!OSがUNIX系だからcygwinなんて入れる必要ない、標準でコンソールが強力、とか。
嘘です、ただmac使ってイケイケ開発したいだけでした。まあいいさ!