Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.stream.Collectors;
- import org.junit.Test;
- public class DelegateTest2 {
- @Test
- public void predicate() {
- List<String> listOfStrings = Arrays.asList("Sir Bob", "Sir Jack", " Bob jr.", "Jack jr.");
- System.out.println(listOfStrings);
- List<Cat> listOfCats = listOfStrings.stream()
- .map(value -> new Cat(value)).collect(Collectors.toList());
- System.out.println(listOfCats);
- List<Dog> listOfDogs = listOfCats.stream()
- .map((Cat value) -> new Dog(value.getValue()))
- .collect(Collectors.toList());
- System.out.println(listOfDogs);
- List<String> listOfDogStrings = listOfDogs.stream()
- .map((Dog value) -> value.getValue())
- .collect(Collectors.toList());
- System.out.println(listOfDogStrings);
- }
- public void longVersion() {
- List<String> listOfStrings = Arrays.asList("Sir Bob", "Sir Jack", " Bob jr.", "Jack jr.");
- List<Cat> listOfCats = new ArrayList<>();
- for(String value : listOfStrings) {
- listOfCats.add(new Cat(value));
- }
- List<Dog> listOfDogs = new ArrayList<>();
- for(Cat value : listOfCats) {
- listOfDogs.add(new Dog(value.getValue()));
- }
- List<String> listOfDogStrings = new ArrayList<>();
- for(Dog value : listOfDogs) {
- listOfDogStrings.add(value.getValue());
- }
- }
- // Create a new list which reassigns original list
- // stream, filter (method1)
- // use lambda and map to set a new value
- // collect result to list
- // print new list
- // List<Name> listOfNames0 = listOfStrings
- // .stream()
- // .filter(value -> filterByValueNonStatic(value, "dr"))
- // .map(value -> new Name(value))
- // .collect(Collectors.toList());
- // System.out.println(listOfNames0);
- //
- //
- // List<Name> listOfNames1 = listOfNames0
- // .stream()
- // .map(v -> new Name(v.getValue() + "S"))
- // .filter(v -> filterByValueStatic( v.getValue(), "job"))
- // .collect(Collectors.toList());
- // System.out.println(listOfNames1);
- // }
- public static boolean filterByValueStatic(String value, String filter) {
- return value.toLowerCase().contains(filter.toLowerCase());
- }
- public boolean filterByValueNonStatic(String value, String filter) {
- return value.toLowerCase().contains(filter.toLowerCase());
- }
- }
- package io.jm.dutyfinder.delegatetest;
- public class Name {
- private final String value;
- public Name(String value) {
- super();
- this.value = value;
- }
- public String getValue() {
- return value;
- }
- @Override
- public String toString() {
- return value;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement