, . , , . Guava (http://code.google.com/p/guava-libraries/), , Functional Java (http://functionaljava.org/), .
, , . :
"x" , . , "", . ( Java , , , .)
, , , :
:
import com.google.common.base.Function;
public class Inverse implements Function
{
@Override
public Double apply(Double arg0)
{
return Math.pow(arg0, -1);
}
}
:
import com.google.common.base.Function;
public class Logarithm implements Function
{
@Override
public Double apply(Double arg0)
{
return Math.log(arg0);
}
}
:
import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.junit.Test;
import com.google.common.collect.Collections2;
public class Driver
{
@Test
public void testInverse()
{
List initialValues = Arrays.asList(new Double[] {1.0, 2.0, 3.0});
List logValues = new ArrayList(Collections2.transform(initialValues, new Inverse()));
assertEquals(3, logValues.size());
assertEquals(Double.valueOf(1.0), logValues.get(0), 0.01);
assertEquals(Double.valueOf(0.5), logValues.get(1), 0.01);
assertEquals(Double.valueOf(0.333), logValues.get(2), 0.01);
}
}
Driver , . Collections2.transform testInverse . :
http://guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/collect/Collections2.html#transform%28java.util.Collection,%20com.google.common.base.Function%29
, , , - , , . , (). , . , .
, , . , (, Guava), . , , , , , , / - ; .