Do not use loops for list operations - Functionaljava 본문

Programming/Java

Do not use loops for list operations - Functionaljava

halatha 2011. 4. 30. 03:57
2011/04/26 - [Programming/Java] - Do not use loops for list operations
2011/04/28 - [Programming/Java] - Do not use loops for list operations
2011/04/28 - [Programming/Java] - Do not use loop for list iterations - lamdaj
import fj.data.List;
import fj.Effect;
import fj.F;
import static fj.data.List.single;

//	item 3 from http://codemonkeyism.com/generation-java-programming-style
//	http://code.google.com/p/functionaljava
//	$ javac -cp .:./functionaljava/functionaljava.jar TestFunctionaljava.java -Xlint
public class TestFunctionaljava	{
	private static final Effect	e;
	static {
		e	=	new Effect<Person>() {
			public void e(final Person p) {
				System.out.println(p);
			}
		};
	}
	private static final F<Person, Boolean> hasAge = new F<Person, Boolean>() {
		public Boolean f(final Person p) {
			return	16 < p.getAge();
		}
	};

	public static void main(final String[] args)	{
		final List<Person>	persons	=	List.list(
				new Person("A", 15), new Person("B", 16), new Person("C", 17));
		persons.foreach(e);
		final List<Person>	beerDrinkers	=	persons.filter(hasAge);
		beerDrinkers.foreach(e);
	}
}

class Person {
	public final String	name;
	public final int	age;

	public Person(String name, int age)
	{
		this.name	=	name;
		this.age	=	age;
	}

	public int getAge()	{	return this.age;	}
	public String toString(){	return	name + " = " + age;	}
}
Comments