Function interface has an abstract method "apply" which take argument of type T and must returns a result of type R.

Java definition

Represents a function that

accepts one argument and produces a result.

```
public interface Function<T, R> {
R apply(T t);
...
}
```

Here are some test cases.

Applies this function to the given argument.

```
@Test
public void testFuncApply()
{
Function<Integer, Integer> sqrt = (num) -> num * num;
Assertions.assertEquals(Integer.valueOf(100), sqrt.apply(10));
}
```

A composed function that first applies the function to its input, and then applies this to the result.

```
@Test
public void testFuncCompose()
{
//given
Function<Integer, Integer> sqrt = (num) -> num * num;
Function<String, Integer> input = sqrt.compose(((s) -> Integer.parseInt(s)));
//when
Integer result = input.apply("9");
//verify
Assertions.assertEquals(Integer.valueOf(81), result);
}
```

A composed function that first applies this function to its input and the applies the function to the result.

```
public void testFuncAndThen()
{
//given
Function<Integer, Integer> sqrt = (num) -> num * num;
Function<Integer, Integer> times = sqrt.andThen((num) -> num * num);
Function<String, Integer> input = times.compose(((s) -> Integer.parseInt(s)));
//when
Integer result = input.apply("10");
//verify
Assertions.assertEquals(Integer.valueOf(10000), result);
}
```

A function that always returns its input argument.

```
@Test
public void testIdentity()
{
//given
Map<String, String> result =
Arrays.asList("a", "b", "c")
.stream()
.collect(Collectors.toMap(Function.identity(), str -> str));
//verify
Assertions.assertTrue(result.size() == 3);
Assertions.assertEquals(result.get("a"), "a");
Assertions.assertEquals(result.get("b"), "b");
Assertions.assertEquals(result.get("c"), "c");
}
```

Players can 윈윈벳 bet both “inside wagers” and “outside wagers” if they want. If you’re new to the sport, keep your roulette tips with you whilst you play. Once you’ve seen them in action quantity of} times, implementing them will become second nature, and you won’t want to hold them with you any longer.

ReplyDelete