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]); } }