Advertisement
AkanthaAnil

DelegateTest2

May 20th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.72 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.List;
  4. import java.util.stream.Collectors;
  5.  
  6. import org.junit.Test;
  7.  
  8. public class DelegateTest2 {
  9.  
  10.   @Test
  11.   public void predicate() {
  12.     List<String> listOfStrings = Arrays.asList("Sir Bob", "Sir Jack", " Bob jr.", "Jack jr.");
  13.     System.out.println(listOfStrings);
  14.  
  15.     List<Cat> listOfCats = listOfStrings.stream()
  16.      
  17.         .map(value -> new Cat(value)).collect(Collectors.toList());
  18.  
  19.     System.out.println(listOfCats);
  20.  
  21.     List<Dog> listOfDogs = listOfCats.stream()
  22.         .map((Cat value) -> new Dog(value.getValue()))
  23.         .collect(Collectors.toList());
  24.  
  25.     System.out.println(listOfDogs);
  26.    
  27.     List<String> listOfDogStrings = listOfDogs.stream()
  28.         .map((Dog value) -> value.getValue())
  29.         .collect(Collectors.toList());
  30.  
  31.     System.out.println(listOfDogStrings);
  32.   }
  33.  
  34.  
  35.   public void longVersion() {
  36.     List<String> listOfStrings = Arrays.asList("Sir Bob", "Sir Jack", " Bob jr.", "Jack jr.");
  37.    
  38.     List<Cat> listOfCats = new ArrayList<>();
  39.     for(String value : listOfStrings) {
  40.       listOfCats.add(new Cat(value));
  41.     }
  42.    
  43.     List<Dog> listOfDogs = new ArrayList<>();
  44.     for(Cat value : listOfCats) {
  45.       listOfDogs.add(new Dog(value.getValue()));
  46.      
  47.     }
  48.    
  49.     List<String> listOfDogStrings = new ArrayList<>();
  50.     for(Dog value : listOfDogs) {
  51.       listOfDogStrings.add(value.getValue());
  52.      
  53.     }
  54.   }
  55.  
  56.   // Create a new list which reassigns original list
  57.   // stream, filter (method1)
  58.   // use lambda and map to set a new value
  59.   // collect result to list
  60.   // print new list
  61.  
  62. //    List<Name> listOfNames0 = listOfStrings
  63. //    .stream()
  64. //    .filter(value -> filterByValueNonStatic(value, "dr"))
  65. //    .map(value -> new Name(value))
  66. //    .collect(Collectors.toList());
  67. //    System.out.println(listOfNames0);
  68. //    
  69. //    
  70. //    List<Name> listOfNames1 = listOfNames0
  71. //    .stream()
  72. //    .map(v -> new Name(v.getValue() + "S"))
  73. //    .filter(v -> filterByValueStatic( v.getValue(), "job"))
  74. //    .collect(Collectors.toList());
  75. //    System.out.println(listOfNames1);
  76. //  }
  77.  
  78.   public static boolean filterByValueStatic(String value, String filter) {
  79.     return value.toLowerCase().contains(filter.toLowerCase());
  80.   }
  81.  
  82.   public boolean filterByValueNonStatic(String value, String filter) {
  83.     return value.toLowerCase().contains(filter.toLowerCase());
  84.   }
  85. }
  86.  
  87.  
  88. package io.jm.dutyfinder.delegatetest;
  89.  
  90. public class Name {
  91.   private final String value;
  92.  
  93.   public Name(String value) {
  94.     super();
  95.     this.value = value;
  96.   }
  97.  
  98.   public String getValue() {
  99.     return value;
  100.   }
  101.  
  102.   @Override
  103.   public String toString() {
  104.     return value;
  105.   }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement