filter

内部イテレータというのを使うと幸せになれるらしい。でも
どの部分が「内部イテレータ」といわれるぶぶんなのかわかんない。
http://d.hatena.ne.jp/kaiseh/20090225/1235560788
とりあえずmapつくった。これはゆるゆるのObject[]戻しですが
実用スルならもうすこし締めて使わないとダサいっすね。
前のよりずいぶん簡潔なのでC#のタイプ数に近づいた。
procが駄目ならクラスを使えばいいじゃない!ということかしら。

	public Object[] map(IntProcedure proc){
		ArrayList ls = new ArrayList();
		for(int i = 0;i < length_;i++){
			if(proc.process(array_[i]))
				ls.add(array_[i]);
		}
		
		return ls.toArray();
	}
//------------------------------------------------------

	public static void main(String[] args){
		int[] a_ = {0,1,2,3,4,5};//対象配列
		IntArray ar = new IntArray(a_);//「イテラブル」なインスタンス

		Object[] ret2 = ar.map(new IntProcedure(){
			public boolean process(int n){
				return n > 3;//map処理のコアはココ
			}
		});//どこのJSよ、というこの行のカタチ。
		//確認出力
		for(int i = 0;i < ret2.length;i++){
			System.out.println(i +" :" + (Integer)ret2[i]);
		}
		
	}